Re: [問題] 要加入的字串重覆了

看板Perl作者 (小a)時間15年前 (2010/06/04 15:33), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《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
文章代碼(AID): #1C2An2jG (Perl)
討論串 (同標題文章)
文章代碼(AID): #1C2An2jG (Perl)