我正在尝试读取文件并将所有内容收集在两个哈希键之间。我想访问$ beginString和$ endString变量之间的所有内容。我尝试了多个正则表达式,但还没有能够让它工作。
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);
答案 0 :(得分:0)
the perl monks' solution的改编可能是..
my $beginString = "SEARCH";
my $endString = "TEST";
my $fileContent;
open(my $fileHandler, $inputFile) or die "Could not open file '$inputFile' $!";
while(<$fileHandler>) {
if(/$beginString/../$endString/) { $fileContent .= $_ unless(/$beginString/ or /$endString/) }
}
close($fileHandler);
print Dumper($fileContent);