Perl 一段非常有用的代码,用来修改文件并备份
需求:文件系统上有N个文件,他们都是.dat的文本文件,内容形式如下(类似于一个状态卡):
Program name: grantie
Author: Jackie
Company: Symantec
Department: QA
Phone: +86 1234 5678
Date: Tues March 9, 2013
Version: 1.1
Size: 11k
Status: Final beta
需要将上述的信息修改成如下的样子:(修改Author信息 Date改成当前日期 去掉Phone信息)
Program name: grantie
Author: Tom
Company: Symantec
Department: QA
Date: 当前日期
Version: 1.1
Size: 11k
Status: Final beta
Code:
use strict;
use warnings;
use utf8;
chomp(my $date = `date`);
$^I = '.bak';
while(<>){
s/^Author:.*/Author: Tom/;
s/^Phone:.*\n//;
s/^Date:.*/Date: $date/;
print;
}
其中 $^I = '.bak'; 中的 $^I 与<> 结合使用时,会生成一个后缀为.bak(hehe.dat生成hehe.dat.bak),前面与源文件名相同的备份文件,内容也是相同的。
然后对源文件的每一行做正则替换之后写到<>打开的文件句柄中。
页:
[1]