понедельник, 16 июля 2007 г.

Странности перла

Что вы подумаете должен вернуть ниже приведенный код?

bbb?
неа
b0b

Спасибо другу-перловику - он удержал мой мозг на месте:
There is a single iterator for each hash, shared by all each(), keys(), and values() function calls in the program; it can be reset by reading all the elements from the hash, or by evaluating keys HASH or values HASH


Интересно, чего стоит этот пустой keys(%$f___ed_hash);

my $f___ed_hash = {
1=>'a',
2=>'b',
3=>'c'
};

sub eb___ya_sub {
keys(%$f___ed_hash);
while (my ($n,$w)=each(%$f___ed_hash)){
if($n==2) {
return $w;
}
}
}

print &eb___ya_sub;
print &eb___ya_sub;
print &eb___ya_sub;

Комментариев нет: