亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Perl > 正文

Perl 批量添加Copyright版權信息

2020-10-31 14:50:55
字體:
來源:轉載
供稿:網友

對所有輸入文件,如果沒有版權信息則加上版權信息,否則什么都不做,并對原文件以.bak結尾備份。

開始我使用如下程序(嘗試前千萬先備份輸入的文件):

#!usr/bin/perl -w$^I = ".bak";my %do_these;foreach (@ARGV){  print $_; $do_these{$_} = 1;}while(<>){ if(/^## Copyright/){  delete $do_these{$ARGV}; }}@ARGV = sort keys %do_these;while(<>){ if(/^#!/){  $_ .= "## Copyright (C) 2011 by yujianjun"; } print;}

結果:原文件和備份文件全部空白,真是糟糕。(切記以后測試程序時,要做好備份)。
分析原因:

主要是由于$^I使用錯誤。先來看看關于$^I的運作原理:

$^I 默認值undef,這不會影響程序。如果將其賦值為某個字符串(如程序中的".bak"),程序將執行備份操作,并將該字符串添加到原文件名后面,成為備份文件名的拓展名。使用鉆石操作符打開文件時,perl的操作是,先將打開的文件名改成加了拓展名的文件名,然后再新建一個原來的文件名的文件,然后在程序一行行讀入文件內容并做一些改動后,會保存到新文件中去。這樣就相當于修改了文件內容,并將老文件進行了備份。當然,如果值是undef,則不會備份舊文件。

由于上面程序中將$^I = ".bak";放在最前面,但后面有兩次讀取文件操作。假設讀入文件為file.pl,第一次while(<>)將原文件變成了file.pl.bak。然后新建一個空文件命名為file.pl;但新文件只有程序結束的時候才會寫入磁盤中,所以接下來第二次讀取文件操作while(<>)時,將會把空白的file.pl變成file.pl.bak,這樣就覆蓋了第一次的備份文件,然后再新建一個新的空白文件file.pl,此時,包括原文件和備份文件內容都是空白。

理解了$^I的工作原理,程序就很容易修改了:

只需將$^I = ".bak";放到最后一個文件讀取操作while(<>)之前就好了,如下:

#!usr/bin/perl -wmy %do_these;@ARGV = ("sinx.pl","nvidia.pl","changeName.pl");foreach (@ARGV){  print $_; $do_these{$_} = 1;}while(<>){ if(/^## Copyright/){  delete $do_these{$ARGV}; }}@ARGV = sort keys %do_these;$^I = ".bak";while(<>){ if(/^#!/){  $_ .= "## Copyright (C) 2011 by yujianjun"; } print;}

這樣基本上就可以了,大家可以根據需要自行修改。希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
黑人巨大精品欧美一区二区免费| 欧美国产极速在线| 亚洲91av视频| 国自产精品手机在线观看视频| 免费不卡在线观看av| 日韩大片免费观看视频播放| 欧洲成人在线视频| 欧美激情在线视频二区| 日韩免费观看视频| 国产欧美一区二区三区在线| 国产精自产拍久久久久久蜜| 亚洲色图美腿丝袜| 国产精品国内视频| 欧美日韩美女在线| 伊人久久大香线蕉av一区二区| 在线免费看av不卡| 日韩中文字幕精品视频| 亚洲精品国产欧美| 久久久亚洲天堂| 一区二区三区 在线观看视| 91亚洲永久免费精品| 久久精品国产一区| 欧美一性一乱一交一视频| 欧美黑人性视频| 欧美大秀在线观看| 欧美精品www| 欧美亚洲第一区| 欧美黑人巨大精品一区二区| 成人观看高清在线观看免费| 欧美性极品xxxx做受| 亚洲女人初尝黑人巨大| 黑人精品xxx一区一二区| 久久久91精品国产| 亚洲aⅴ男人的天堂在线观看| 国产成人极品视频| xxxxx成人.com| 国产精品99久久99久久久二8| 日韩欧美一区二区三区久久| 成人免费看吃奶视频网站| 久久久久久久国产| 欧美激情视频一区二区| 日韩国产激情在线| 国模精品视频一区二区三区| 亚洲爱爱爱爱爱| 91视频免费网站| 日本一区二区三区在线播放| 26uuu日韩精品一区二区| 欧美高清在线视频观看不卡| 日韩免费精品视频| 亚洲999一在线观看www| 九九久久国产精品| 5252色成人免费视频| 国产精品一区二区三| 欧美日韩国内自拍| 亚洲天堂久久av| 日韩中文字幕在线精品| 久久精品免费播放| 日韩欧美中文字幕在线播放| 日韩精品视频免费在线观看| 欧美激情精品久久久久久大尺度| 亲子乱一区二区三区电影| 国产mv免费观看入口亚洲| 欧美极品少妇xxxxⅹ免费视频| 欧美性生交大片免网| 国产999精品久久久| 国产日韩换脸av一区在线观看| 欧美在线视频在线播放完整版免费观看| 国模私拍一区二区三区| 欧美亚洲国产日韩2020| 日韩欧美国产视频| 91探花福利精品国产自产在线| 成人久久18免费网站图片| 日韩一区二区福利| 久久最新资源网| 秋霞av国产精品一区| 亚洲精品自产拍| 俺去了亚洲欧美日韩| 久久久极品av| 91精品免费视频| 国产精品入口免费视| 欧美激情欧美激情在线五月| 久久亚洲综合国产精品99麻豆精品福利| 日韩在线观看av| 亚洲第一色中文字幕| 欧美中文字幕在线观看| 国产精品视频导航| 黑人欧美xxxx| 欧美天堂在线观看| 欧美福利视频网站| 国产自产女人91一区在线观看| 日韩电影在线观看免费| 91视频88av| 欧美一级大片在线免费观看| 久久久久亚洲精品| 国产综合视频在线观看| 亚洲一区精品电影| 国产精品稀缺呦系列在线| 欧美性xxxxx极品娇小| 国产亚洲美女精品久久久| 亚洲xxxx3d| 中文字幕久久亚洲| 日韩欧美国产一区二区| 欧美激情中文字幕在线| 欧美在线视频免费播放| 日本免费久久高清视频| 亚洲人永久免费| 欧美激情欧美狂野欧美精品| 国产日韩欧美中文在线播放| 91免费视频国产| 国产精品最新在线观看| 国产精品一区av| 久久99精品国产99久久6尤物| 亚洲美女激情视频| 日韩禁在线播放| 高清亚洲成在人网站天堂| 国产精品一区二区3区| 欧美一级成年大片在线观看| 最新国产成人av网站网址麻豆| 日韩福利视频在线观看| 91九色国产在线| 性欧美xxxx视频在线观看| 久久精品国产一区二区电影| 久久不射热爱视频精品| 国产精品久久久久久久久久免费| 欧美成aaa人片免费看| 国产精品福利片| 日韩免费中文字幕| 日韩一区二区三区在线播放| 欧美日韩中文字幕日韩欧美| 国产成人a亚洲精品| 亚洲石原莉奈一区二区在线观看| 国产小视频91| 亚洲美女激情视频| 日韩亚洲成人av在线| 欧美日韩在线另类| 日韩中文在线不卡| 日韩在线视频网| 国产999在线观看| 这里只有视频精品| 欧美做受高潮1| 精品亚洲一区二区| 国产精品99久久久久久久久久久久| 亚洲网站视频福利| 欧美午夜片在线免费观看| 一区二区三区四区视频| 亚洲男人天堂2024| 国产日本欧美一区| 自拍亚洲一区欧美另类| 国产成人精品在线播放| 欧美亚洲国产成人精品| 97香蕉久久超级碰碰高清版| 日韩欧美国产免费播放| 91久久国产综合久久91精品网站| 美乳少妇欧美精品| 欧美一级在线亚洲天堂| 亚洲免费高清视频| 欧美性开放视频| 精品视频在线播放免| 亚洲成人黄色网址| 亚洲一区二区三区视频播放| 欧美一区二区三区精品电影| 懂色av中文一区二区三区天美| 日韩av中文字幕在线免费观看| 日韩免费观看网站|