Ошибка при попытке вызова find из perl

use warnings; use File::Find; my $srceDir = "//mnt/Share_Drive/Verizon PM&T/Capture Files/"; opendir(DIR, $srceDir) or die "Can't open $srceDir: $!"; my @files = (find -type f -newermt "12 Feb 2013", $srceDir); closedir(DIR); 

Я могу запустить команду find с параметром -newermt в Linux очень хорошо, но когда я положил ее в perl-скрипт, я получил ошибки ниже, не могли бы вы помочь? благодаря

 String found where operator expected at ./queryAlm.pl line 11, near "newermt "12 Feb 2013"" (Do you need to predeclare newermt?) syntax error at ./queryAlm.pl line 11, near "newermt "12 Feb 2013"" 

  • Как разбить файл на несколько файлов на основе шаблона с помощью perl?
  • Подсчет определенного последовательного символа с его местоположением и длиной
  • Код Perl для ссылки на несколько файлов одного и того же расширения (.xml)
  • Что такое эквивалент Debian пакета RPM perl-ExtUtils-Embed?
  • Отсутствует оболочный модуль в perl 5.18
  • Как напечатать определенные поля, если выполнено условие
  • Уведомление IRSSI - методом вытягивания
  • Удалите запятую из столбцов в файле, если она находится в конце
  • One Solution collect form web for “Ошибка при попытке вызова find из perl”

    В модуле File::Find perl почти нет действий с командой find . См. perldoc File::Find как его использовать.

    Как указывает Йорданм, вы можете использовать find2perl чтобы помочь вам написать этот код perl , но обратите внимание, что find2perl распознает только стандартный синтаксис find , поэтому обычно не GNU-расширения, такие как -newermt . Вам придется писать код perl самостоятельно (вызов stat() для файла и сравнить mtime с POSIX::mktime(0,0,0,12,2,113) ).

    Чтобы запустить команду find , вам не нужен модуль File::Find , вы можете просто выполнить:

     my $srceDir = "//mnt/Share_Drive/Verizon PM&T/Capture Files/"; my @find_cmd = ("find", $srceDir, "-type", "f", "-newermt", "12 Feb 2013", "-print0"); open FIND, "-|", @find_cmd; $/ = "\0"; my @files = <FIND>; my $ret = close FIND or warn $! ? "Error closing find pipe: $!" : "find exited with non-zero exit status: $?"; 
    Interesting Posts

    Таблица использования процессора консоли

    SELINUX не включит

    Настройка часового пояса системы на основе временной метки

    Как я могу использовать tmpfs для ускорения запуска браузера Chrome?

    Каковы инструменты GNU / Linux для проверки документов PDF перед публикацией?

    Возможно ли обновить OpenBSD по сети?

    корица не начинается, проблема шмеля

    Любой способ создать здесь документы, которые заменяют некоторые переменные, но не другие в bash?

    Использование соединения с двумя файлами выходит из строя при больших размерах файлов

    Puppet-enterprise-install не работает basename: отсутствует операнд

    Raspbian: проблема с перенаправлением вывода в скрипте udev

    Убийство PGIDs, но proceses возрождаются, как я могу сделать это постоянным?

    отправка электронной почты на IP-адрес через постфикс

    Как предотвратить запись в CIFS от остановки в течение нескольких минут подряд?

    Кто крадет мои деньги?

    Linux и Unix - лучшая ОС в мире.