Windows上的Perl不会让我替换文件中的内容

时间:2014-08-11 17:18:11

标签: perl

所以我有一个脚本可以重命名文件中的一些内容

local @ARGV = 'myfile';
local $^I = '';
while (<>) {
  s/oldtext/newttext/g;
 print;
}

每当我在我的Macbook上本地运行它都可以工作,但是当我使用cmd在Windows上本地运行它时,它会给我以下错误:无法在没有备份的情况下进行就地编辑..

任何人都知道如何解决这个问题?

1 个答案:

答案 0 :(得分:4)

Windows要求您指定备份扩展名。

只需指定$^I的值,然后在处理文件后选择删除备份。

local @ARGV = 'myfile';
local $^I = '.bak';
while (<>) {
    s/oldtext/newttext/g;
    print;
}
unlink "myfile$^I"; # Optionally delete backup