運行以下代碼時,將打印C:\ Test下面所有文件的文件名。爲什麼不打印Hello
(n次,取決於處理的文件數量)?
這是否意味着我不能依靠shift
來可靠地分配給$_
?設想一個同事實現wtf
功能,並不知道它是從File::Find
想要分。 我運行此代碼與草莓的Perl 5.12
編輯:此代碼不會按預期運行或者:
use strict;
use warnings;
wanted();
sub wanted{
wtf("Hello");
}
sub wtf {
shift;
print; #expecting Hello
}
所以我想我完全關閉這裏的公路。這顯然已經沒什麼用File :: Find做,我現在正在爲這個問題尋找一個新的標題。這是我的原始代碼:
use strict;
use warnings;
use File::Find;
find(\&wanted, "C:\\test");
sub wanted{
wtf("Hello");
}
sub wtf {
shift;
print; #expecting Hello
}
嘗試perldoc -f shift - 它讓你認爲shift指定給$ _? – reinierpost 2010-06-02 17:02:20
我不知道。我只是想到了這一點:換班;打印; – zedoo 2010-06-02 17:35:06