Perl:清除文件内容并以追加模式打开文件

Perl:清除文件内容并以追加模式打开文件,perl,Perl,我需要在Perl中以追加模式打开一个文件,但我需要在打开文件之前删除所有数据,并输入新数据 我将逐行输入数据,因此在输入第一行之前,我需要删除所有以前的数据 请帮助。打开(fileHandle,“>”,$filePath)我认为您对perl中“append”的含义感到困惑。您描述的是打开一个文件并将其截断,即: open my $fh, '>', $file; 这将删除$file的内容,并打开一个同名的新文件 使用open进行追加的原因是当您有一个不想覆盖的文件时。也就是说,和>之间的区

我需要在Perl中以追加模式打开一个文件,但我需要在打开文件之前删除所有数据,并输入新数据

我将逐行输入数据,因此在输入第一行之前,我需要删除所有以前的数据


请帮助。

打开(fileHandle,“>”,$filePath)

我认为您对perl中“append”的含义感到困惑。您描述的是打开一个文件并将其截断,即:

open my $fh, '>', $file;
这将删除
$file
的内容,并打开一个同名的新文件

使用open进行追加的原因是当您有一个不想覆盖的文件时。也就是说,
>
之间的区别只是前者截断现有文件并从文件开头开始写入,而后者跳到现有文件结尾并开始写入


文档处理包括:

  • 读取文件(
  • 覆盖(

  • 有关详细说明,请访问链接。

    实际上,以正确的方式打开文件要容易得多。为什么要在附加模式下打开它,然后在写模式下更容易打开时将其截断为0?我不知道,我没有弥补疯狂的限制。另外,今天我有心情回答表面上的问题。当我们应该使用flock进行原子操作时,以“>”开头更糟糕。为什么?因为我们不能成群结队地寻找关闭的文件。截断是最好的。我们打开的文件是'+