perl調(diào)用外部命令(g)awk的方法
但是,linux系統(tǒng)的常用小工具awk天生對(duì)列操作友好,有時(shí)直接在perl中調(diào)用awk比寫(xiě)相應(yīng)的perl腳本要方便有效的多。比如用system插入awk語(yǔ)句:
system(gawk '{print $1}' $filename);
執(zhí)行該l語(yǔ)句,你會(huì)發(fā)現(xiàn)這行會(huì)報(bào)錯(cuò),提示你使用了read-only 的變量$1。
那么,如何處理兩種生態(tài)系統(tǒng)下的沖突呢?
有一個(gè)簡(jiǎn)單的解決辦法:
my $i="$1";
system(gawk '{print $i}' $filename);
這樣便解決了(g)awk的$1和perl的 內(nèi)置變量$1的沖突的問(wèn)題了。
相關(guān)文章
Perl實(shí)現(xiàn)的Linux下socket代理服務(wù)器
這篇文章主要介紹了Perl實(shí)現(xiàn)的Linux下socket代理服務(wù)器,比較簡(jiǎn)潔的一個(gè)版本,需要的朋友可以參考下2014-08-08學(xué)習(xí)perl的unless控制結(jié)構(gòu)
在perl的if控制結(jié)構(gòu)中,只有當(dāng)條件表達(dá)式為真時(shí)才執(zhí)行某塊代碼。如果想讓程序塊在條件為假時(shí)才執(zhí)行,此時(shí)可以把if改成unless2013-02-02Perl 文本文件的讀寫(xiě)操作、文件的重命名和刪除、多個(gè)文本文件的合并實(shí)現(xiàn)代碼
Perl 文本文件的讀寫(xiě)操作、文件的重命名和刪除、多個(gè)文本文件的合并實(shí)現(xiàn)代碼,需要的朋友可以參考下2013-02-02Perl的Mail::POP3Client模塊和Gmail通信實(shí)例
這篇文章主要介紹了Perl的Mail::POP3Client模塊和Gmail通信實(shí)例,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05