0

我想用 "#hello" 替换字符串 "hello" 。“\n嗨”..这是我所做的..

#!/perl/bin/perl
use strict;
use Tie::File;

my $filename = "abc.txt";
tie my @lines, 'Tie::File', $filename or die;

for(my $i=0; ; $i++) {
    last if !defined $lines[$i]; 

    if($lines[$i]= /^[\s]*hello*/){
        $lines[$i] = "#" . $lines[$i] . "\nHi";
        last;
    }

但是新线的东西不起作用。有人知道答案吗?

4

1 回答 1

3

来自Tie::File 文档

此模块不支持插入包含记录分隔符字符串的记录。它可能会产生一个合理的结果,但这个结果可能会在未来的版本中改变。使用 'splice' 插入记录或用多条记录替换一条记录。

于 2013-07-16T05:05:23.687 回答