プログラマでありたい

おっさんになっても、プログラマでありつづけたい

ミニマルPerl 1章 perlワンライナーことはじめ

合間の時間に読書中。perlのワンライナーは、全然知らなかったので興味深いです。

以下、全て同じ動きをします。


shellの場合

cat file file2


今の私のレベル

#!/usr/bin/perl -w

@ARGV or @ARGV = '-';
foreach my $file(@ARGV) {
  open IN, "< $file" or
    die "$0: Open of $file failed, code $!\n";
  while ( defined ($_=<IN>) ) {
    print $_;
  }
  close IN or
    die "$0: Close of $file failed, code $!\n";
}


ワンライナー1
まだ理解できます。

perl -w -e 'while (<>) { print; }' file file2


ワンライナー2
whileはどこに行ったの?

perl -wnl -e 'print;' file file2

nオプションがwhileループを行ってくれているようです。


ワンライナー3
??の世界。printはどこに行った?

perl -wpl -e '' file file2

pオプションが、print処理をしてくれているようです。


ちょっとづつ覚えていこうと思います。