题目:
写一个程序,它可以得到当前文本文件的一个拷贝。在拷贝的文件中,字符串Fred(大小写无关)将被Larry 替换掉。
(因此,“Manfred Mann”将变成“ManLarry Mann”.)输入的文件名已经在命令行中指定(不需要询问用户),输出的
文件名是对应的输入文件名后面加上.out。
答案:
#!/usr/bin/perl
my $in = $ARGV[0];
if(not defined $in){
die"Usage:$0 filename";
}
my $out = $in;
$out =~s/\.\w+$/.out/;
unless (open IN,"<$in"){
die"cant open '$in':$!";
}
unless (open OUT,">$out"){
die"cant write '$out':$!";
}
while (<IN>) {
s/Fred/Larry/gi;
print OUT $_;
}
命令行下输入:C:\Documents and Settings\1>perl D:\study\perl\aixiaoxin.pl ttt.txt回车,即可在相应路径下生成ttt.out文件。