作为管道的一部分的程序正在解析输出文本文件但引发错误。这是代码
1 open(PRED, '<', $predfile);
2 my $pred_text;
3 { local $/; $pred_text = <PRED>; }
4 close PRED;
5 my @pred_blocks = split(/^\-+$/, $pred_text);
6 foreach my $pred_block (@pred_blocks) {
7 $pred_block =~ /^>(.+)$/m or die("Internal error while parsing $predfile");
.....
}
第3行后应包含$ pred_text的内容?我想整个文本文件。我还假设我应该从文本文件中获取不同的块,但第5行中的列表只包含一个代表整个文件的块。第5行的正则表达式是什么?它是如何拆分文本的?在第7行,$ pred_block =〜/^&gt;(。+)$ / m究竟是什么意思?
有什么建议吗?
非常感谢
尼诺
答案 0 :(得分:5)
my @pred_blocks = split(/^-+$/m, $pred_text);
,请参阅Modifiers >
开头的行。如果没有,则中止脚本