読者です 読者をやめる 読者になる 読者になる

初めての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 の文法知識がある人にとって)。