Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

__PACKAGE__::hoge()は間違い

タイトルで終わった。
__PACKAGE__->hoge()の__PACKAGE__はコンパイラがカレントパッケージ名に置換してくれるけれど、
「::」をつかって完全修飾でサブルーチンを呼ぶと__PACKAGE__::hoge()の左側は「__PACKAGE__」というパッケージ名ととられるのでエラーになる(Undefined subroutine &__PACKAGE__::hoge)。