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がリセットされてないんかな。