-1
PerlConsole::Console::interpret(/home/perlconsole-0.4/lib/PerlConsole/Console.pm:281):
281: Module::Refresh->refresh;
DB<5> s
Module::Refresh::CODE(0x70a340)(/home/perlconsole-0.4/depends/Module-Refresh-0.16/lib/Module/Refresh.pm:205):
205: *$sym = sub { goto &$code };
これを説明できる人はいますか?Module :: Refresh-> refreshを呼び出すのがModule :: Refresh :: CODEにリダイレクトされるのはなぜですか?
UPDATE
このブロックに起因すると思わ:
BEGIN {
no strict 'refs';
foreach my $sym (sort keys %{ __PACKAGE__ . '::' }) {
next
if $sym eq
'VERSION'; # Skip the version sub, inherited from UNIVERSAL
my $code = __PACKAGE__->can($sym) or next;
delete ${ __PACKAGE__ . '::' }{$sym};
*$sym = sub { goto &$code };
}
}
しかし、なぜ?違いは何ですか?
はい私はこのコメントを読んでいますが、私は**どのように目標を達成することができないのでしょうか。 – asker
このモジュールを 'perl -d'でデバッグしようとしましたか?常にここに掛かります... – asker
リロード時に、モジュールは元の(匿名化された)サブスロットではなく、(名前付きの)トランポリンを削除します。オリジナルは、再ロード後にガベージコレクションされたときにのみ削除されます。 –