そういうこと考えてたら何も書けないので、適当に書いてあとから考えれば良さそう。大体ブログは行き帰りの1時間くらいの電車の中で書くことが多くて、バイトの帰りとかに書くとPerlの話ばっかになる。
Perlの関数の引数よくこう定義する
sub 引数1つのとき {
my ($self, $name);
...
}
sub 引数2つ以上のとき {
my ($self, %args);
...
}
sub 引数あっても無くてもいいとき {
my ($self, %opts);
...
}
sub 引数必須のが1個と任意のが混ざってるとき {
my ($self, $name, %opts);
...
}
sub 引数必須のが複数個と任意のが混ざってるとき {
my ($self, %args);
...
}
Perlの定数扱うの手が震える
定数の内容が書き換わっててるのにテストで気付いてハマった。
expect: 'yunotti'
got: 'miyako'
とか出て笑った。
use constant FOO => [qw(yunotti nori nazuna)];
for my $str (@{FOO()}) {
$str =~ s/yunotti/miyako/;
}
ログ出力は可愛い方がいい
KYTProf、何か恐れてて使ってなかったけど便利だった。
onishi/perl5-devel-kytprof - GitHub