繁体   English   中英

解析文本文件perl

[英]Parsing a text file perl

属于管道一部分的程序正在解析输出文本文件,但会引发错误。 这是代码

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 =〜/^>(.+)$/m到底是什么意思?

有什么建议吗?

非常感谢

尼诺

  • 第3行:读取整个文件,请参见Perl成语说明
  • 第5行: 将文本分成块。 将其更改为my @pred_blocks = split(/^-+$/m, $pred_text); ,请参见修饰符
  • 第7行:检查当前块是否包含以>开头的行。 如果不是,它将中止脚本

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM