原文件内容更新及备份,特殊标量$^I和@ARGV学习笔记

半世苍凉 提交于 2020-02-12 21:18:02
#!/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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!