如何使用Perl提取和保存文本?

Shi*_*iel 1 regex perl text extract

没有提取数据输出到data2.txt?代码出了什么问题?

MyFile.txt的

ex1,fx2,xx1
mm1,nn2,gg3
EX1,hh2,ff7
Run Code Online (Sandbox Code Playgroud)

这是data2.txt中我想要的输出:

ex1,fx2,xx1
EX1,hh2,ff7
Run Code Online (Sandbox Code Playgroud)


#! /DATA/PLUG/pvelasco/Softwares/PERLINUX/bin/perl -w

my $infile  ='My1.txt';
my $outfile ='data2.txt';

open IN,  '<', $infile  or die "Cant open $infile:$!";
open OUT, '>', $outfile or die "Cant open $outfile:$!";

while (<IN>) {   
  if (m/EX$HF|ex$HF/) {
    print OUT $_, "\n";      
    print $_;   
  }
}

close IN;
close OUT;
Run Code Online (Sandbox Code Playgroud)

ral*_*ldi 5

这个正则表达式毫无意义:

m/EX$HF|ex$HF/
Run Code Online (Sandbox Code Playgroud)

$ HF应该是变量吗?你想要匹配什么?

此外,您编写的每个 Perl脚本中的第二行应该是:

use strict;
Run Code Online (Sandbox Code Playgroud)

这将使Perl捕获这些错误并告诉你它们,而不是默默地忽略它们.