[Moscow.pm] Scalar::Util::weaken
Ruslan Zakirov
ruz на bestpractical.com
Пн Мар 3 04:52:55 PST 2008
#!/usr/bin/perl
use Devel::Peek;
my %count;
my $a;
for(1..4)
{
$a = {};
print STDOUT $_,' ', $a, "\n";
"$a";
}
print "\n\n\n";
print %count;
для шеа вызывается stringify, который строет строку, а потом ссылку на
нее записывает в PVHV, а по каким причина нельзя использовать после
этот скаляр не понятно.
Так тоже интересно:
#!/usr/bin/perl
use Devel::Peek;
use Scalar::Util qw(refaddr);
my %count;
my $a;
for(1..10)
{
$a = {};
print STDOUT $_,' ', $a, "\n";
$count{refaddr($a)}++;
}
print "\n\n\n";
while (my ($k, $v) = each %count ) {
printf "0x%x - %d\n", $k, $v;
}
2008/3/1 Denis Evdokimov <evdokimov.denis на gmail.com>:
> Тут так же самая разница:
> >
> > #!/usr/bin/perl
> >
> > my %count;
> > my $a;
> > for(1..100)
> > {
> > $a = {};
> > print $_,' ', $a, "\n";
> > # $count{$a}++; # Вот эта строка
> > }
> >
> > print "\n\n\n";
> > print %count;
> >
>
> И правда, но откуда эта разница - Вот основной вопрос.
>
>
> ______________________________________________________________________
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> http://mail.pm.org/mailman/listinfo/moscow-pm
--
Best regards, Ruslan.
Подробная информация о списке рассылки Moscow-pm