删除perl中不需要的行后如何删除空行?

时间:2011-09-25 11:59:22

标签: perl

例如,我想用bbbb删除不需要的行

aaaa
bbbb
cccc
dddd

我使用以下perl正则表达式来完成此任务。

$_ =~ s/bbbb//g;

这里的问题是留空线,例如

aaaa

cccc
dddd

我需要删除不需要的文本行以及空白行。

2 个答案:

答案 0 :(得分:4)

您只需在正则表达式中包含换行符:

$_ =~ s/bbbb\n//g;

这将导致:

aaaa
cccc
dddd

答案 1 :(得分:1)

在我看来,如果你逐行读这个,你可以让你的循环做到这一点:

my @foo = (
    "aaaa\n",
    "bbbb\n",
    "cccc\n",
    "dddd\n" );

foreach my $line ( @foo ) {
    next if ( $line =~ /^bbbb$/ );

    # now do something with a valid line;
}