【问题标题】:Perl: how do I remove the last written line in an output file?Perl:如何删除输出文件中最后写入的行?
【发布时间】:2011-07-06 17:39:11
【问题描述】:

我想知道是否可以删除在 perl 中使用[print OUT "blabla";] 写入输出文件的最后一行?非常感谢!

【问题讨论】:

标签: perl


【解决方案1】:
【解决方案2】:

另一个建议:推迟打印该行,直到您知道需要打印它。

【讨论】:

  • 我有几个嵌套的 foreach 语句。如果我推迟打印该行,我已经通过了包含我想要的信息的迭代。
  • 用一个变量来存储你需要的东西怎么样?
【解决方案3】:

这将从文件中删除最后一行:

open (FH, "+< $file")               or die "can't update $file: $!";
while ( <FH> ) {
    $addr = tell(FH) unless eof(FH);
}
truncate(FH, $addr)                 or die "can't truncate $file: $!";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多