Effective Perl

これも読み始めました。

Effective Perl (ASCII Addison Wesley Programming Series)

Effective Perl (ASCII Addison Wesley Programming Series)

用語説明

ビルトイン関数と演算子って区別する意味ないのかー。たしかに言われてみるとその通りだなー。

2項 要素を使いたいとき、スライスを使わないようにする

んー、スライスに代入かー。そうだなーって理解はできるけど、やっぱなんか気持ち悪い感じは残ってるなあ。使ってるシーンをみると便利だって思うけど。

6項 文字列と数値の変換を理解しよう

はー、これは全部同じなんだ。警告出るけど。

print my $n = 0 + "123";
print $n = 0 + "123asc";
print $n = 0 + "\n123";
print $n = 0 + "a123";
9項 一般的な略記法や構文の癖を覚えよう

こういうの知りたかった。ステキ!
=>演算子で名前付きパラメータをシミュレートか。DateTimeとかでも使われてますね。ってか、こういう使い方が一般的なのかな。呼び出し側の意図が明示的になるし。
関数のアンパサンドってつけなくてもいいのか。確かにめんどくさいなーって思ってたけど。

へー、匿名配列をつくってすぐにデリファレンスしちゃえば、一時的なコピーを作らなくていいのか。こりゃー便利だ。すっきりしてるから、初心者が読むかもしれないコードにも使えそうだし。

my @src = qw(alpha bravo charlie delta);
print Dumper my @dest = grep { /e/ } @{ [@src] };
$VAR1 = 'charlie';
$VAR2 = 'delta';
11項 ストリーム入力は、別の方法も考慮しよう

へー、whileだと一行ずつ読み込んで、for*1だと全部メモリに持つのか。言われてみると、whileは反復するときに後があるかどうかを判断して、forは最後まであとどれだけあるかを判断してるから、確かにそんな感じだなー。面白ーい。

*1:foreach