修改文件

时间:2018-03-05 17:02:43

标签: perl

以下代码尝试将nhours更改为24,但它失败了,执行后的原始文件变为空...并且out文件没有24,仍然是nhours

rename($file, $file . '.bak');

open(IN, '<' . $file . '.bak') or die $!;

open(OUT, '>' . $file) or die $!;

while ( <IN> ) {

    s/nhours/24/g;
    print OUT $_;

    @args = ("$rundir/upp/run_unipost.bak");
    escriu(@args);
    system(@args) == 0 or die "system @args failed: $?";
}

close(IN);
close(OUT);

sub escriu {
    my @missatge = @_;
    chomp (my $hora = `date |awk '{print \$4}'`);
    print "----->  $hora @missatge\n";
}

run_unipost.bak执行一个过程。

1 个答案:

答案 0 :(得分:1)

我能够测试的代码完全符合预期。所以看起来问题出在我无法测试的位上。

  • 我不知道escriu()做了什么。
  • 我不知道run_unipost.bak做了什么。