Dans continuer la discussion here, je havind quelques problèmes avec lock_hash_recurse
comme illustré ci-dessous:Comment utiliser `lock_hash_recurse` en Perl?
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Hash::Util qw (lock_keys);
my $hashref = {A=>1, B=>{CC=>22, DD=>33}};
lock_keys(%{$hashref}); # this is OK
Hash::Util::lock_hash_recurse(%{$hashref}); # this fails: "Use of uninitialized value in string eq at /usr/lib/perl/5.10/Hash/Util.pm line 153."
D'après ce que je peux dire, reftype
retours undef
... est qu'un bogue dans lock_hash_recurse
(peut-être pourquoi ce n'est pas exporté? ...)
+1 Merci. Y a-t-il un moyen de régler rapidement cela? contacter l'auteur ou quelque chose? Je ne veux pas commencer ma propre version ... –
On dirait que c'est dans le noyau et pas dual-lifed, donc le signaler à p5p est tout ce que nous pouvons faire. Si vous voulez un correctif sur la version de Perl que vous utilisez, vous devrez le modifier vous-même. Une autre possibilité serait de rendre 'Hash :: Util' dual-lifed. Je vais soulever ça sur p5p. –
Oups, on dirait que cela a déjà été corrigé dans [blead] (http://perl5.git.perl.org/perl.git/commitdiff/1e6ffe563afa06bebdef40d37cf4bdae8ac5f14d), mais cela ne l'a pas fait dans Perl 12.2. Vous pouvez simplement appliquer le même correctif à votre version. –