使用Perl用字符串替换整行

时间:2014-01-27 02:57:29

标签: perl file

我需要用一个变量中的字符串替换文本文件中的整行。我对代码的尝试如下,但我什么都没得到。什么遗失?

 my @a;
 $ldir= "/project/";
 $RESULTS_FILE = $ldir.'/'.'out.html';
 open OUT, "<", $RESULTS_FILE or die "Could not open results file:$!";
        while ($ln=<OUT>)
        {
                chomp($ln);
                for my $str (@stream_name)
                {
                        if ( $ln =~ m/$str/ )
                        {
                                $str =~ s/(.)/$1: NOT-RUN/g;

                        }
                }
                push @a, $str;
                #push @a, $ln;
        }
        open F, ">results.html" || die "$!";
        print "\n\n\nContents of Array is:@a\n\n\n";
        for my $e (@a)
        {
                print F "$e\n";
        }
        close F;

1 个答案:

答案 0 :(得分:0)

这一行:

push @a, $str;

for循环之外。你应该use strict,这样才能抓住这些错误,你不必为此付出太多的代价。