2013-07-26 2 views
-1

У меня было настроено $ReleaseLogPath dir на моем сервере, а какая-то строка есть в "lgtfileContent" var. В файле $ReleaseLogPath есть много файлов журнала. Я пытаюсь найти имя файла сопоставленной строки (lgtfileContent) в $ReleaseLogPath path.i, используя приведенную ниже строку в моем коде, но она не работает.Как найти имя файла для сопоставленной строки в PERL?

my @files = glob '$ReleaseLogPath/$lgtfileContent'; 

Любая помощь пожалуйста?

+4

[* Это не работает *] (http://tlp-perl.blogspot.se/2013/06/its-not-working.html) - это ужасный способ описать вашу проблему. – TLP

+0

Существуют ли пробелы в именах файлов? Если это так, по умолчанию 'glob' будет работать некорректно. Измените его на glob BSD: 'use File :: Glob qw (: bsd_glob);' Смотрите 'perldoc File :: Glob' http://perldoc.perl.org/File/Glob.html – shawnhcorey

ответ

3

Вы должны никогда, никогда сказать «ее не работает» без указания как ее не работает. Это затрудняет понимание вашей проблемы. Однако эта строка кода имеет серьезный недостаток: одиночная кавычка не интерполирует переменные.

Вы могли бы лучше удачи, используя двойные кавычки:

my @files = glob "$ReleaseLogPath/$lgtfileContent"; 

Конечно, это все зависит от того, что строка в этих переменных, возможно, потребуется добавить символы к нему, такие как:

my @files = glob "$ReleaseLogPath/$lgtfileContent*"; 
               # ^--- here 
Смежные вопросы