Не понимаю, почему программа ведёт себя настолько по разному, из-за
строки, которая не должна влиять ни на что
#!/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;