中國移動遊戲頻道,遊戲玩家套餐包中的玩家樂園遊戲上線啦,很開心,作為開發人員之一,加了那麼多班,眼看出了成果,激動一下下,哈哈,隨之而來的是各種各樣的pv、uv的資料統計。
領導問:還會寫perl啊?
我答:會一些。
進入這個公司後,確實涉及到過perl指令碼,所以稍稍簡單的還能寫,所以對於領導交代的access_log日誌的處理,我寫完了,貼到自己部落格裡,以備下次回憶。
這個指令碼主要涉及到 perl命令列運行時傳參、檔案判斷是否存在以及建立、一些簡單正則的使用。
#!/usr/bin/perl</p><p>#$filename="localhost_access_log.2011-06-16.txt";<br />#$outname="new".$filename;操作符為.<br />########測試時使用的##################<br />#$outname="new_$filename";<br />#open( FILE, $filename) or die "Can't open the file:$!/n";<br />########測試時使用的##################</p><p>########正式時使用的##################<br />#$ARGV[0]命令列參數<br />$outname="new_$ARGV[0]";<br />open( FILE, $ARGV[0]) or die "Can't open the file:$!/n";<br />########正式時使用的##################<br />#open( OUTFILE, ">>$outname") or die "Can't open the file:$!/n";<br />#判斷檔案是否存在<br />unless (-e $outname)<br />{<br /> print "File not found.then create it/n";<br /> #建立檔案並寫入<br /> open(OUTFILE,">$outname") or die "Couldn't open $outname:$!";<br />}<br />else<br />{<br /> open(OUTFILE,">$outname") or die "Couldn't open $outname:$!";<br /> print "File found./n";<br />}</p><p>while ($line = <FILE>)<br />{<br />#將行中的[ ] "替換為空白<br />$line=~s/['/['|'/]'|'/"']//g;<br />#將空格替換為,<br />$line=~s//s/,/g;</p><p>#將每行最後一個,去掉<br />$line=substr($line,0,length($line)-1);</p><p>#字串匹配/wappetserver<br />if($line=~///wappetserver/)<br />{<br />my @row=split(//,/,$line);<br />$row[6]="/wappetserver/syssetting";<br />$line=join(",",@row);<br />}</p><p> print OUTFILE $line."/n";<br />}<br />close FILE;<br />close OUTFILE;