我有一个快速的问题..
我正在尝试匹配特定的多行实例。问题是当我执行我的代码时,它只打印我编辑的内容,而不是整个文件。
例如。这是我的输入:
JJJ
1234 123.00 1234.28 123456.00 1234567.72 constant
ld;afksd;l REst of file blah blah blah...rest of file and other info I neeed etc.
我的目标是获得:
JJJ 1234 123.00 1234.28 123456.00 1234567.72 constant
ld;afksd;l REst of file blah blah blah...rest of file and other info I neeed etc.
所以基本上我只是想把数据弄到一行JJJ
或一个或多个大写字母的任何其他变体。
但是,当我这样做时,我只会得到这个:
JJJ 1234 123.00 1234.28 123456.00 1234567.72 constant
我只得到那个,只有那个,而不是文件中我需要的其他信息。我知道有一个简单的解决方案,但我很陌生perl
,无法完全弄清楚。
这是我的代码,也许你们中的一些人会有建议。
use File::Slurp;
my $text = read_file( 'posf.txt' );
while ($text =~ /(^[A-Z]+)(\d+.*?\.\d+ Acquired$)/gism) {
$captured = $1." ".$2;
$captured =~ s/\n//gi;
print $captured."\n";
}
任何帮助都会很棒。我知道我只是在告诉程序打印“已捕获”,但我不知道如何让它打印文件的其余部分并将线条啜饮到所需的位置。
我希望我的问题有意义并且不难理解,如果我可以进一步询问,请告诉我。