ずいぶんPerlっぽさにもなれたのでペースを上げて行きたいところ。
3-1 標準入力から読み込んだ文字列のリストを逆から表示
いろいろおつきあいして書くとこんな感じ。
@lines = <STDIN>; @lines = reverse @lines; print @lines;
解答のページには、
print reverse <STDIN>;
とだけあった。確かに動くぅぅ。ちょーシンプル。
3-2 標準入力から数値を読み込み、その数に対応する配列の要素を表示
@names = qw{fred betty burney dino wilma pebbles bam-bam}; chomp(@nums = <STDIN>); foreach (@nums) { print "$names[$_ - 1]\n"; }
これは解答も似たような感じ。
@names = qw{ fred betty burney dino wilma pebbles bam-bam};
qw{のあとに一つスペースをおくと一つ目の要素が空になるので、$_ - 1しなくて良くなります。
3-3 標準入力から文字列のリストを読み込み、ASCII順にソートして表示
とりあえず、スペース区切りで出力すると、
chomp(@words = <STDIN>); @words = sort @words; foreach (@words) { print "$_ "; }
となる。解答によると、改行を含めて表示する時は、
print sort <STDIN>;
でいいそうな。シンプルぅぅ。省略しまくり具合にPerlっぽさを感じた。

- 作者: ランダル・L.シュワルツ,トムフェニックス,Randal L. Schwartz,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2003/05
- メディア: 単行本
- 購入: 15人 クリック: 474回
- この商品を含むブログ (294件) を見る