初めてのPerl 第3章
練習問題の回答だけメモしておく。
ex03-1
#!/usr/bin/perl -w chomp(@lines = <STDIN>); @lines = reverse @lines; foreach (@lines) { print "$_\n"; }
ex03-2
#!/usr/bin/perl -w @people = qw/fred betty barney dino wilma pebbles bamm-bamm/; chomp(@lines = <STDIN>); foreach (@lines) { print "$people[$_]\n"; }
ex03-3
#!/usr/bin/perl -w chomp(@lines = <STDIN>); @sorted = sort @lines; foreach (@lines) { print "$_\n"; }
反省点
ex03-1 と ex03-3 はそれぞれ書こうと思えばこんな感じで
「print reverse
「print sort
1行で書けたみたい。
なぜか foreach を使うことに固執してしまった。
出力で改行が必要な場合は入力でわざわざ chomp する必要なかった。こんなことしてると無駄にコードが長くなって読みにくくなるのかも(Perl の文法知識がある人にとって)。