如何在Windows上使用perl进行内部编辑(-i)?

chr*_*ris 2 windows perl inplace-editing

在unix/linux版本中,我只需更改第一行:

#!perl -i.bak
Run Code Online (Sandbox Code Playgroud)

在Windows上使用Activestate perl,我在其中创建了与.pl的关联,我可以直接从命令行运行perl脚本.

myScript.pl
Run Code Online (Sandbox Code Playgroud)

如果我仍想使用默认关联,如何进行文件的内部编辑?

TLP*_*TLP 5

听起来像一个技巧问题,我想知道我是否理解你.

perl -pi.bak myScript.pl myfiletochange
Run Code Online (Sandbox Code Playgroud)

只需调用perl,提供交换机和脚本名称,然后就可以了.

现在,您可能不希望提供这些额外的参数.如果是这样,您只需设置变量$^I即可激活就地编辑.例如:

$^I = ".bak"; # will set backup extension
Run Code Online (Sandbox Code Playgroud)

  • 他们都说这是一次性的事情.:) (2认同)