読者です 読者をやめる 読者になる 読者になる

Perl日記

PerlとかRubyとかPHPとかPythonとか

__PACKAGE__::hoge()は間違い

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