Я пишу сценарий на Perl клубника.Первое, что нужно сделать, это взять аргумент пути и получить список каталогов для этого пути, и он должен уметь различать файлы и папки.Я прочитал несколько учебников по этой теме и написал скрипт ниже, но он работает только тогда, когда я даю ему путь, в котором находится скрипт в данный момент. Если я даю ему любой другой путь, тесты -f и -d не работают,
РЕДАКТИРОВАТЬ: Уточнение: сценарий помещает все файлы и папки в @thefiles, если я даю ему путь, отличный от его собственного, просто не работают тесты -f и -d.*
use Getopt::Long;
my $dir;
GetOptions('-d=s' => \$dir);
opendir(DIR, $dir) or die "BORKED";
@thefiles = readdir(DIR);
print DIR;
closedir(DIR);
@filez;
@dirz;
foreach $file (@thefiles){
if (-f$file){
push(@filez, $file);
}
if (-d$file){
push(@dirz, $file);
}
}
print "files: @filez \n";
print "Directories: @dirz \n";
Вот скриншот: http://i.stack.imgur.com/RMmFz.jpg
Надеюсь, что кто-то может помочь и большое спасибо за ваше время.:)