Re: [問題] 要加入的字串重覆了
※ 引述《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
推
06/04 16:11, , 1F
06/04 16:11, 1F
討論串 (同標題文章)
Perl 近期熱門文章
PTT數位生活區 即時熱門文章
10
113