私は次のperlスクリプトを書きましたが、問題は常にelse部分にあり、ファイルではないと報告しています。入力で指定しているディレクトリにファイルがあります。ここで何が間違っていますか?
私の要件は、ディレクトリ内のすべてのファイルに再帰的にアクセスし、それを開いて文字列で読み取ることです。しかし、ロジックの最初の部分は失敗しています。
#!/usr/bin/perl -w
use strict;
use warnings;
use File::Find;
my (@dir) = @ARGV;
find(\&process_file,@dir);
sub process_file {
#print $File::Find::name."\n";
my $filename = $File::Find::name;
if( -f $filename) {
print " This is a file :$filename \n";
} else {
print " This is not file :$filename \n";
}
}