適当に書いてたらプログラムの話だけになりそう

そういうこと考えてたら何も書けないので、適当に書いてあとから考えれば良さそう。大体ブログは行き帰りの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