我正在尝试使用内联替换编写perl脚本。我找到了这个脚本示例,但不知道如何使用它,因为我不知道如何指定文件和处理程序?
$^I = '.bak' # Call for in-place editing; make backups with a .bak suffix
while (<>)
{
s/foo/bar/
print;
}
答案 0 :(得分:4)
<>
是一个特殊的文件句柄。
特殊文件句柄:&lt;&gt;
与默认变量一样,特殊文件句柄 - 写为&lt;&gt;是添加语言的捷径,使程序更容易编写。特殊文件句柄将所有命令行参数视为文件名,并依次打开每个参数。如果没有命令行参数,则打开并从STDIN读取。根据UNIX约定,如果“ - ”作为命令行参数给出,它将打开STDIN来代替文件。
设置$^I
变量可以启用就地编辑 - 换句话说,直接修改文件。
要使用此脚本,您可以执行以下操作:
perl yourscript.pl somefile.txt