1
調用子參考時,同事的錯字引發了這個奇怪的語法問題。如果我調用沒有取消引用箭頭的子引用,perl將以Not a GLOB reference
來死亡。但是,如果subref被稱爲一個祝福對象的方法,它運行良好。使用`不是GLOB參考'調用子參數時發生錯字
這與globs有什麼關係?爲什麼該方法調用工作?
use 5.12.0;
use Try::Tiny;
my $f = sub { 'sub ref' };
my $obj = bless({}, 'Blessed');
try {
say $f($obj); # should be $f->();
} catch {
say "ERROR: $_";
};
say $obj->$f();
輸出:
C:\code>perl dispatch.pl
ERROR: Not a GLOB reference at dispatch.pl line 8.
sub ref