__ANON__ってさ
パッケージ名::__ANON__ってよく見かけると思うんですが、何かと言うと一言で言えば無名サブルーチン。
ってのは分かってはいたんですが、確かめた事が無かった(と思う)ので実際確かめてみたんですのよ。
use strict; use warnings; use Carp qw(croak); my $sub = sub { croak "foo"; }; $sub->();
これでmain::__ANON__って出るはず。
foo at anon.pl line 6 main::__ANON__() called at anon.pl line 9
でたでた。
ちなみに
ちゃんと名前があるとコードリファレンスでもちゃんと出ますのよ。
use strict; use warnings; use Carp qw(croak); sub foo { croak('foo') } my $sub = \&foo; $sub->();
foo at anon.pl line 5 main::foo() called at anon.pl line 8
まぁそりゃそうか。