次のコードを実行すると、C:\Test 以下のすべてのファイルのファイル名が出力されます。印刷されないのはなぜですかHello
(処理されるファイルの数に応じて n 回)。
shift
これは、に確実に割り当てることができないことを意味し$_
ますか? 同僚が関数を実装していて、それが必要なサブルーチンから呼び出されていることを知らないと想像してくださいwtf
。このコードを Strawberry Perl 5.12 で実行しますFile::Find
編集:このコードも期待どおりに実行されません:
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
}