「はじめてのPerl」第5章
5.5練習問題2の自分の解答
print "名前を入力してください。\n"; chomp(my @name_list = <STDIN>); my %hash; foreach (@name_list) { my $name = $_; if (! exists $hash{$name}) { $hash{$name} = 1; } else { $hash{$name} += 1; } } while ( my ($key, $value) = each %hash ) { print "$keyさんは、$value回出現\n"; }
本で紹介されている解答例
my(@words, %count, $word); chomp(@words = <STDIN>); foreach $word (@words) { $count{$word} += 1; } foreach $word (keys %count) { print $word was seen $count{$word} times.\n"; }
ああ、まだまだだ。ifなんて使う必要ないのか。