Perl的-i没有参数在Cygwin上创建备份文件吗?

bri*_*foy 13 perl cygwin

我有一个可靠的人的错误报告,在Cygwin和Perl 5.14.2上,使用-i没有值的perl 开关创建.bak备份文件.它不应该根据perlrun中的文档:

If no extension is supplied, no backup is made and the current
file is overwritten.
Run Code Online (Sandbox Code Playgroud)

我目前无法访问Cygwin.有没有人看到这种行为?你能解释一下吗?是关于创建备份文件,它应该只是一个临时文件,并且无法删除它?

这是我建议重新创建它的步骤.记住,这是给Cygwin的:

  1. 创建并更改为空目录
  2. 在该目录中创建一个文本文件.内容并不重要
  3. perl -p -i -e 's/perl/Perl/g' filename
  4. 完成后检查.bak文件

如果找到该备份文件,请保存答案以解释可能发生的情况.提前评论"是的,我看到了"或"不,不能重现"可以是非正式的民意调查.

yst*_*sth 14

perldoc perlcygwin sayeth(为清晰起见编辑):

由于Windows-ish限制,文件的原位编辑perl -i 必须创建正在编辑的每个文件的备份.因此.bak,perl -i.bak如果您使用perl -i没有明确的备份扩展名,Perl会自动添加后缀- 就像调用后缀一样.

可以说这个信息也应该在perlport中.