我正在編寫一個腳本,它從目錄中獲取文件列表,打開每個文件,然後搜索包含帶.zip擴展名的文件的行。然後我想從行中去掉文件名。以下是我的代碼:提取文件名
foreach (@fnames) {
chomp ($_);
open FILE, '<', "$_";
@archives = grep { /.+?\.zip/ } <FILE>;
foreach (@archives) {
if ($_ =~ /("|>)(.+?)("|<)/) { push @files, $2; }
}
}
我從中拉取數據的文件將包含雙引號或尖括號之間的.zip文件名。這段代碼沒有返回,但我知道文件名在那裏。如果我在終端上做了一個grep,我可以看到所有這些,但是Perl中的grep並沒有給我任何東西。有任何想法嗎?
它爲我用一個小的測試腳本。你有沒有試過在第二個循環內拋出'@ archives'和'$ _',以確保你所期望的是事物? – CanSpice