UNIVERSAL::isaとかbaseプラグマとか

Foo::Bar->isa('Hoge::Piyo');

Foo::BarHoge::Piyoから継承していたら真を返す、と。今の調子だとたぶん多重継承しなきゃいけなくなるかなぁ。多重継承するコードは書いたことないけど、しばらくは単一継承だし、整理しながら書いていこう。

use base qw(Foo::Bar);

Foo::Barの派生クラス。継承関係を書くとき、@ISAを手動で操作する代わりに、今回はbaseプラグマを使ってみる。
上のものとは別に、さっきちょっと書いたコードから抜粋。

my %month;
while (<FH>) {
    chomp;
    my (undef, $m) = split /\t/;
    $month{$m}++;
}
printf "%2d: %d\n", $_, $month{$_} foreach sort {$a <=> $b} keys %month;