这两段代码有什么区别?
open (MYFILE, '>>data.txt');
open (MYFILE, '>data.txt');
open (MYFILE, '>>data.txt');
open (MYFILE, '>data.txt');
open (MYFILE, '>>data.txt')
— 打开data.txt
文件,在原有数据基础上,从文件末尾处追加新数据。open (MYFILE, '>data.txt')
— 打开data.txt
文件,删除其中所有内容,从文件头开始写入新数据。引用自perldoc -f open
:
如果 MODE 是
'<'
或什么都不指定,则该文件被打开以进行输入。如果 MODE 是'>'
,则该文件将被截断并为输出而打开,必要时进行创建。如果 MODE 是'>>'
,则该文件将以追加的方式打开,必要时进行创建。
这源自于 shell 的使用方法:
cmd < file.txt
将文件复制到标准输入(stdin)中cmd > file.txt
将标准输出(stdout)写入文件中cmd >> file.txt
将标准输出(stdout)追加到文件末尾open(MYFILE, '>data.txt')
等同于 open(MYFILE, '>', 'data.txt')
。请阅读链接。 - kennytm
open(my $file_handle,'>','output.txt') or die $!
。 - FMc