1
我正在嘗試讀取文件並收集兩個哈希鍵之間的所有內容。我想訪問$ beginString和$ endString變量之間的所有內容。我已經嘗試了多個正則表達式,但一直未能找到工作。Perl讀取文件並在兩個字符串之間獲取字符串
my $beginString = "SEARCH";
my $endString = "TEST";
my $fileContent;
open(my $fileHandler, $inputFile) or die "Could not open file '$inputFile' $!";
{
local $/;
$fileContent = <$fileHandler>;
}
close($fileHandler);
if($fileContent =~ /\b$beginString\b(.*?)\b$endString\b/){
my $result = $1;
print $result;
}
print Dumper($fileContent);
如果要跨越多行'如果($ fileContent =〜/ \ B $ beginString \ B(您需要's'modifier 。*?)\ b $ endString \ b/s''''允許'dot'匹配換行符。 –
謝謝!但它不是完整的解決方案。它做的是將所有內容都返回到$ endString,但是我仍然得到了$ beginString之前的所有內容 – victorz22
提示:它被稱爲「文件句柄」(保存資源的東西),而不是「文件處理程序」(用於處理文件的東西) – ikegami