初めてのPerl 第5章
練習問題をメモ。
ex05-1
#!/usr/bin/perl -w use strict; my %last_name = ( "fred" => "flintstone", "barney" => "rubble", "wilma" => "flintstone", ); print "Enter a first name: "; chomp(my $first_name = <STDIN>); if (exists $last_name{$first_name}) { print "<<${first_name}>>'s last name is <<$last_name{$first_name}>>.\n"; } else { print "There's no first name for <<${first_name}>>.\n";
ex05-2
#!/usr/bin/perl -w use strict; chomp(my @words = <STDIN>); my %sum; foreach my $word (@words) { $sum{$word}++; } foreach my $word (sort keys %sum) { print "<<$word>> appeared $sum{$word} times.\n"; }
反省点
ex05-1 の「<<$first_name>>'s」のように、変数名の直後に「英文字、数字、下線」が来たときは「<<${first_name}>>'s」としてブレースを付けよう。p.37「変数名は、意味をなす限り、できるだけ長くなるように解釈されます。」