[Moscow.pm] Scalar::Util::weaken

Andrew Shitov andy на shitov.ru
Сб Мар 1 07:39:38 PST 2008


> Не понимаю, почему программа ведёт себя настолько по разному, из-за
> строки, которая не должна влиять ни на что

А в чем разница-то?

> #!/usr/bin/perl
> use Scalar::Util qw(weaken);
> my %refs;
> my %count;
> my $a;
> for(1..100)
> {
>     $a = {};
>     print $_,'   ', $a, "\n";
> #    $count{$a}++; #  Вот эта строка
>     $refs{$_} = $a;
>     weaken($refs{$_});
> }
> print "\n\n\n";
> print %count;


Тут так же самая разница:

#!/usr/bin/perl
my %count;
my $a;
for(1..100)
{
    $a = {};
    print $_,'   ', $a, "\n";
#    $count{$a}++; #  Вот эта строка
}
print "\n\n\n";
print %count;



--
Андрей Шитов
______________________________________________________________________
andy на shitov.ru | http://www.shitov.ru



Подробная информация о списке рассылки Moscow-pm