#!/usr/bin/perl
use strict;
use warnings;
my $filename="C:\\Users\\Chen\\abv.txt";
$^I= ".bak";
push @ARGV,$filename;
while(<>){
s/haha/h/g;
print;}
<>钻石操作符会调用@ARGV数组(由命令行参数组成的列表)。在使用<>之前设置好@ARGV就行。
上面这个程序就可以将abv.txt中的haha换成h。并不需要写入另一个新的txt。并且做了一个原文件备份,是abv.txt.bak文件。
命令的实现就是靠特殊变量$^I。
其功能就是可以创建一个abv.txt.bak备份文件,并将更改过的结果输出到原来的文件abv.txt。具体实际过程可以看learning perl第六版175页至177页。
也可以使用windows的cmd命令行
perl -p -i.bak -w -e “s/a/an/g” abv.txt
参考文章:https://www.jianshu.com/p/ea367ce629d2
来源:CSDN
作者:makoudada
链接:https://blog.csdn.net/makoudada/article/details/104283462