Я написал следующий скрипт на Perl, но проблема в том, что он всегда входит в другую часть и сообщает не файл. У меня есть файлы в каталоге, которые я даю на входе. Что я тут не так делаю?
Мое требование - рекурсивно посещать каждый файл в каталоге, открывать его и читать в виде строки. Но первая часть логики терпит неудачу.
#!/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";
}
}