Smart::Commentsとeach
#!/usr/bin/env perl my %hash = ( foo => 'one', bar => 'two', baz => 'san', ); ### %hash while (my ($k, $v) = each %hash) { print "W $k\n"; } print "F $_\n" for keys %hash; print "bye\n";
$ perl t.pl W bar W baz W foo F bar F baz F foo bye
$ perl -MSmart::Comments t.pl
### %hash: {
### bar => 'two',
### baz => 'san',
### foo => 'one'
### }
F bar
F baz
F foo
byeなんでか-MSmart::Commentsするとwhile each が実行されない。なんでじゃろ。
「### %hash」の後で$gomi = keys %hash;とかするとOKなので、eachがリセットされてないんかな。