Если вы используете код из моего ответа на предыдущий вопрос , я могу думать только о том, что на вашем пути может быть какой-то внешний dir.exe
, который не понимает параметры командной строки для cmd.exe
встроенный dir
. Например, с каталогами Cygwin на моем пути, я получаю
dir: cannot access /ad/b/s: No such file or directory
Вы должны также иметь привычку показывать точный результат, который вы получаете, если хотите, чтобы люди были способны помочь вам более эффективно.
Чтобы этого не случилось, используйте:
use strict; use warnings;
use File::Basename;
my @dirs = grep { fileparse($_) =~ /^[Ll]ib/ }
split /\n/, `cmd.exe /c dir e:\\ /ad/b/s`;
print "$_\n" for @dirs;
Обратите внимание на галочки `` `. Обратите внимание также на исправление используемого вами шаблона.