第3章 リストと配列 その5 3.10 練習問題

ずいぶん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っぽさを感じた。

初めてのPerl

初めてのPerl

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