Perl问题打印输出到新文件

我想删除以HPL_开头的文本文件中的所有行我已经实现了这个并且可以打印到屏幕,但是当我尝试写入文件时,我只是将新修改的文​​本的最后一行打印在新文件中.请帮忙!

open(FILE,"<myfile.txt"); 
@LINES = <FILE>; 
close(FILE); 
open(FILE,">myfile.txt"); 
foreach $LINE (@LINES) { 
@array = split(/\:/,$LINE); 


my $file = "changed";

open OUTFILE, ">$file" or die "unable to open $file $!";

print OUTFILE $LINE unless ($array[0] eq "HPL_");

} 
close(FILE); 
close (OUTFILE);




exit;
您只想删除所有以HPL_开头的行?这很简单!

perl -pi -e 's/^HPL_.*//s' myfile.txt

是的,它真的只是一个单行. 🙂

相关文章
相关标签/搜索