2013-07-26 111 views
-1

我有一些配置$ReleaseLogPath目錄在我的服務器和一些字符串在"lgtfileContent"變種。在$ReleaseLogPath目錄中有許多日誌文件。我正在嘗試在$ReleaseLogPath path.i中找到匹配字符串的文件名(lgtfileContent),我在我的代碼中使用了下面的行,但它不起作用。如何在PERL中找到匹配字符串的文件名?

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

請幫忙嗎?

+4

[*它不工作*](http://tlp-perl.blogspot.se/2013/06/its-not-working.html)是描述你的問題的一種可怕的方式。 – TLP

+0

文件名中是否有空格?如果是這樣,默認的'glob'將無法正常工作。將其更改爲BSD glob:'使用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 
相關問題