作者giacch (小a)
看板Perl
标题Re: [问题] 要加入的字串重覆了
时间Fri Jun 4 15:33:20 2010
※ 引述《cindy1120 (111)》之铭言:
: 最近开始学perl
: Learning perl习题的ch9.no5.
: 写一个程式在里面加上版权宣告## copyright (C) by xx
: 一定要写在开头的#!perl的下一行
: 如果已经有版权宣告的档案就不需再更动
: 以下是我写的...
: $in=$ARGV[0];
: $^I=".bak";
: while(<>){
: if(/copyright (C) by me/i){
: print "$_";
: }
: else {
: if(/^#!/im){
: $_ .= "## copyright (C) by xx\n";
: }
: print "$_";
: }
: }
: 可是如果档案已经有版权宣告
: 他会再加上一个...
: 请问这是为什麽会这样?好困惑
: 谢谢瞜
我对 $^I 的用法不太熟, 所以我用我的方式写, 你再修改一下...
#!/usr/bin/perl
@TMP=<>;
$_=join(undef, @TMP);
if(/copyright \(C\) by/) {
print;
} else {
s/^#!.*?$/$&\n## copyright \(C\) by giacch/im;
print;
}
测试直接用这个档案来试就可以...
比如存成 test.pl 就用 perl test.pl test.pl 来测...
test.pl 是没有 copyright 的, 测完的结果 > 到 test 就是有 copyright 的档案...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 123.192.170.66
1F:推 cindy1120:感谢你的回答~ 06/04 16:11