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

首頁 > 編程 > Perl > 正文

Perl命令行應(yīng)用程序詳解

2020-10-31 15:05:03
字體:
供稿:網(wǎng)友

perl - Practical Extraction and Report Language,Perl有很多命令行參數(shù),通過它可以讓你的程序更簡練,并且可以寫出很多只有一行命令的perl。在這篇文章里我們來了解一些常用的命令行參數(shù)。

命令行調(diào)用

復(fù)制代碼 代碼如下:

perl [ -sTtuUWX ]
[ -hv ] [ -V[:configvar] ]
[ -cw ] [ -d[t][:debugger] ] [ -D[number/list] ]
[ -pna ] [ -Fpattern ] [ -l[octal] ] [ -0[octal/hexadecimal] ]
[ -Idir ] [ -m[-]module ] [ -M[-]'module...' ] [ -f ]
[ -C [number/list] ]
[ -P ]
[ -S ]
[ -x[dir] ]
[ -i[extension] ]
[ [-e|-E] 'command' ] [ -- ] [ programfile ] [ argument ]...

[開關(guān)項描述]

-0

規(guī)定記錄分隔符。

-0<數(shù)字>

(用8進(jìn)制表示)指定記錄分隔符($/變量),默認(rèn)為換行

-00

段落模式,即以連續(xù)換行為分隔符

-0777

禁用分隔符,即將整個文件作為一個記錄

-a

與 -n 或者 -p 一起使用,負(fù)責(zé)打開自動拆分模式,用于對空白字符進(jìn)行隱式拆分,用空格分隔$_并保存到@F中,相當(dāng)于@F=split ''。分隔符可以使用-F參數(shù)指定例如:

復(fù)制代碼 代碼如下:

date | perl -ane 'print "$F[0]/n"';

-c

只檢查 Perl 腳本語法,而不執(zhí)行腳本。

-d

對腳本打開 Perl調(diào)試器。

-D

設(shè)置 Perl 的調(diào)試標(biāo)記(請先檢查 Perl 的安裝情況,確保已經(jīng)安裝了調(diào)試器),若要觀察 Perl 是如何執(zhí)行腳本的,可使用 -D14。

-e command

用于再命令行而不是在腳本中執(zhí)行 Perl 命令。

-F pattern

規(guī)定拆分輸入行時使用的模式。模式是位于斜杠、單引號或雙引號之間的正則表達(dá)式。例如,-F/:+/ 表示在一個或多個冒號上拆分輸入行,如果 -a 仍然起作用的話,則打開它。

-h

打印 Perl 的命令選項列表。

-i extension

在使用 <> 循環(huán)遍歷文件時啟用原位編輯模式。 如果沒有規(guī)定擴(kuò)展名的話,則原位修改各行內(nèi)容,否則使用擴(kuò)展名來修改輸入文件名(以便充當(dāng)備份文件),并使用原位編輯的原文件名創(chuàng)建輸出文件。 這也是所有 print 語句選擇的文件句柄。

-I directory
與 -P選項一起使用,負(fù)責(zé)告訴 C 預(yù)處理程序查找包含的文件,其默認(rèn)目錄包括 /usr/included、/usr/lib/perl 以及當(dāng)前目錄。

-1 digits
啟用自動行結(jié)束處理。如果使用了 -n 或者 -p 選項,則去掉終止符。把位數(shù)(八進(jìn)制) 賦值給 $/ ,并將行終止符添加到 print 語句中。如果沒有規(guī)定位數(shù)的話,則將 $/ 設(shè)置為 $/ 的當(dāng)前值。

-l
對輸入內(nèi)容自動chomp,對輸出內(nèi)容自動添加換行。使用 -l 有兩個效果,第一自動 chomp 輸入分隔號,第二 把$/ 值付給 $/ (這樣 print 的時候就會自動在末尾加 /n)

復(fù)制代碼 代碼如下:

-m [-] module
-M [-] module
-M [-] module'
-[mM] module =
arg [,arg]..
-m module

在執(zhí)行 Perl 腳本之前執(zhí)行 use 方法。

-M module
再執(zhí)行 Perl 腳本之前執(zhí)行 use 方法。如果添加附加的文本,則可使用引號。方括號中的短橫線表示把 use 指令替換為 no。

-n
使 Perl 隱式地循環(huán)遍歷指定的文件,并只打印規(guī)定的行。自動循環(huán),相當(dāng)于 while(<>) { 腳本; }

-p
使 Perl 隱式地循環(huán)遍歷指定的文件,同時打印所有的行。自動循環(huán)+自動輸出,相當(dāng)于 while(<>) { 腳本; print; }

-P
使要運行的腳本在 Perl 編譯之前通過 C 預(yù)處理程序。

-s
再腳本名之后、文件名參數(shù)之前啟用開關(guān)項解析,并從@ARGV 數(shù)組中刪除所有找到的開關(guān)項。將開關(guān)項設(shè)置為同名的標(biāo)量型變量,并將標(biāo)量賦值為 1 。例如,-abc 在腳本中將轉(zhuǎn)換為 $abc。

-S
如果不支持 #!/usr/bin/perl 行,則讓 Perl 在 PATH 環(huán)境變量中搜索腳本。

-T
強(qiáng)制打開“污染“ 檢查,用于測試腳本,一般只用在 setuid 或 setgid 程序上。推薦自行檢查 CGI 腳本。

-u
編譯后產(chǎn)生腳本的核心轉(zhuǎn)儲(基于 UNIX 系統(tǒng))。

-U
允許 Perl 執(zhí)行不安全的操作,如果是超級用戶的話,則斷開目錄鏈接。

-v
打印 Perl 的版本信息。

-V
打印最重要的 Perl 配置項和數(shù)組 @INC 中當(dāng)前值的匯總。

-V:NAME
打印 NAME 的值,其中 NAME 是配置變量。

-w
打印警告信息,包括錯誤使用保留字、文件句柄、子例程等情況。

-W
啟用所有警告,而不論是否已經(jīng)用 no warnings 關(guān)閉了本地警告。

-x directory
忽略 #!/usr/bin/perl 行之前的任何文本。如果將目錄名當(dāng)作 -x 開關(guān)的參數(shù),則 Perl 會在開始執(zhí)行腳本之前自動切換到該目錄。

-X
關(guān)閉所有警告。

每一行將缺省保存在 $_,-p 和 -n 一樣,但是還會打印 $_ 的內(nèi)容。

請注意:-p 開關(guān)和 -n 開關(guān)的使用。當(dāng)您想顯式打印數(shù)據(jù)時,使用 -n 開關(guān)。-p 開關(guān)隱式地將 print $_ 語句插入到 -n 開關(guān)所產(chǎn)生的循環(huán)中。因此,-p 開關(guān)更適用于對文件進(jìn)行的完全處理,而 -n 開關(guān)更適用于選擇性文件處理,這樣的處理只需打印特定數(shù)據(jù)。

安全網(wǎng)參數(shù)
有三個參數(shù)我認(rèn)為可以起到“安全網(wǎng)”的作用,因為它們可以讓你避免犯錯,特別是當(dāng)你在使用 Perl 嘗試一些特別聰明(或這愚蠢)的想法時,錯誤難免會發(fā)生。有經(jīng)驗的 Perl 程序員常常使用這三個參數(shù)來提前找到錯誤所在。

-c 是第一個。這個參數(shù)編譯 Perl 程序但并不真正運行它,由此檢查所有語法錯誤,每次修改 perl 程序之后我都會立刻使用它來找到任何語法錯誤。

復(fù)制代碼 代碼如下:

$ perl -c program.pl

這保證了程序依然可以編譯。很顯然,當(dāng)你輸入一小段代碼之后立即進(jìn)行檢查,比起一下子輸入幾百行代碼然后開始 debug 要容易很多。

-W 是第二個參數(shù)。它會提示你任何潛在的bug。Perl 5.6.0 之后的版本已經(jīng)用 use warnings; 替換了-w。你應(yīng)該使用 use warnings 因為它要比 -w 更靈活。

-T 是第三個參數(shù)。它讓 perl 出于了 taint 模式中。在這個模式里,Perl 會質(zhì)疑任何程序外傳來的數(shù)據(jù)。例如從命令行讀取,外部文件里讀取或是 CGI 程序里傳來的數(shù)據(jù)。這些數(shù)據(jù)在 -T 模式里都會被 Tainted(污染),Tainted 數(shù)據(jù)不可以被用來和外部交互。例如使用在 system 調(diào)用和用作 open 的文件名,關(guān)于什么數(shù)據(jù)會被Tainted,請參閱perlsec 文檔,那里有一個完整的列表。

要想使用 Tainted 的數(shù)據(jù)就必須 untaint這個數(shù)據(jù)。untaint是通過正則表達(dá)式來實現(xiàn)的,關(guān)于 taint 本身的內(nèi)容足夠?qū)懸黄獑为毜奈恼?,所以這里我不會太多的講述 taint 模式。如果你要編寫的程序(例如 CGI 程序)需要從從用戶那里接受不可知的輸入,我推薦使有 taint 模式。

還有一個值得一提的參數(shù)是 -d,它將讓 Perl 處于 Debugger 模式。這個話題內(nèi)容非常多,我推薦閱讀文檔 ‘perldoc perldebug'或 Richard Foley 的 Perl Debugger Pocket Reference 一書.

使用模塊
下面的幾個 Perl 參數(shù)可以讓短小的 Perl 程序很容易的在命令行上運行,-e 可以讓 Perl代碼在命令行上被編譯器直接執(zhí)行。例如,我們可以直接在命令行上運行“Hello World” 程序而不用把它寫稱 Perl 程序。

復(fù)制代碼 代碼如下:

$ perl -e 'print "Hello World/n"'

多個 -e 也可以同時使用,運行順序根據(jù)它出現(xiàn)的位置。

復(fù)制代碼 代碼如下:

$ perl -e 'print "Hello ";' -e 'print "World/n"'

象所有的 Perl 程序一樣,只有程序的最后一行不需要以 ; 結(jié)尾,你也可以用 -e 來引用模塊,但 -M 讓它變得更容易。

復(fù)制代碼 代碼如下:

$ perl -MLWP::Simple -e 'print head "http://www.example.com"'

-M模塊名和use 模塊名一樣。有些模塊有默認(rèn)的模塊導(dǎo)入,如果你不想導(dǎo)入它們,你可以使用-m。-m模塊名和 use module() 一樣,關(guān)閉了默認(rèn)的導(dǎo)入。例如下面這個例子,因為 head 函數(shù)是默認(rèn)導(dǎo)入,而使用-m 時就不會執(zhí)行,結(jié)果是沒有輸出。

復(fù)制代碼 代碼如下:

$ perl -mLWP::Simple -e 'print head "http://www.example.com"'

-m 和 -M 有很多方便的語法來幫助你使用它們,你可以在 = 后面列出對 use 的各種參數(shù)。

復(fù)制代碼 代碼如下:

$ perl -MCGI=:standard -e 'print header'

在這里,CGI.pm 的 :standard 被引入,header 函數(shù)因此可以使用。要引入多個參數(shù)可以通過使用引號和逗號。

復(fù)制代碼 代碼如下:

$ perl -MCGI='header,start_html' -e 'print header,start_html'

這里我們引入了 header 和 start_html 函數(shù)。

Implicit Loops
-n 和 -p 增加了循環(huán)的功能,使你可以一行一行來處理文件。

復(fù)制代碼 代碼如下:

$ perl -n -e 'some code' file1

這與下面的程序一樣.
LINE:

復(fù)制代碼 代碼如下:

while () {
# your code goes here
}

注意:打開命令行里的文件,一行行的讀取,每一行將缺省保存在 $_。

復(fù)制代碼 代碼如下:

$ perl -n -e 'print "$. - $_"' file

上面的這一行可以寫成 LINE: while () { print ”$.

亚洲做受高潮| 毛片毛片毛片毛片毛片毛片毛片毛片毛片| 欧美经典一区二区| 欧美日韩性视频一区二区三区| 亚洲国产天堂网精品网站| 九九热精品在线播放| 呦呦视频在线观看| 黄无遮挡免费网站| 91尤物视频在线观看| 中文字幕视频精品一区二区三区| 色乱码一区二区三在线看| 欧美亚洲国产一区在线观看网站| 久久国产精品久久久久久| 亚洲精品在线网站| 午夜影院在线观看欧美| 国产精品欧美亚洲| 精品一区二区三区视频在线观看| se视频在线观看| 日韩欧美大片在线观看| 大地资源网3页在线观看| 中国美女乱淫免费看视频| 老汉av免费一区二区三区| 草草视频在线播放| 小早川怜子影音先锋在线观看| www.日韩精品| 亚洲色图av在线| 91嫩草在线| 日本中文字幕在线看| 久久国产精品免费一区| 国产美女视频一区二区| 91在线三级| 日韩精品一区二区三区丰满| 精品久久久久中文字幕小说| www.国产在线观看| 欧美一级高清片在线观看| 懂色av一区二区三区四区| 亚洲视频在线观看一区二区三区| 日韩中文字幕在线观看| 肥女人的一级毛片| 精品免费二区三区三区高中清不卡| 亚洲综合视频网站| 精品国产一区三区| 欧美在线免费| 日本一区二区三区四区五区六区| 天堂资源在线亚洲视频| 日韩一级视频在线观看| 亚洲女在线观看| 伦伦影院午夜理论片| 日本va欧美va欧美va精品| 国产精品视频一区麻豆| 精品成人18| 国产精品久久久久久久久久精爆| 九色国产视频| 欧类av怡春院| 潘金莲一级淫片aaaaa| 国产又大又黄又粗的视频| 欧美麻豆久久久久久中文| 免费观看污网站| 国产香蕉视频在线| 蜜臀va亚洲va欧美va天堂| 国产在线视视频有精品| av网站免费在线看| 麻豆av福利av久久av| 国产精品自产拍在线观看中文| 国产亚洲精品久久久久久打不开| 99久久99久久精品| 51国产成人精品午夜福中文下载| 日本小视频在线免费观看| 97超碰在线视| 亚洲精品第一页| 伊人网站在线| 国产精品视频男人的天堂| 手机在线观看日韩av| 日韩三级视频在线看| 九色视频网站入口| 一区二区三区免费观看视频| 中国老女人av| 日韩一区二区三区三四区视频在线观看| 亚洲高清极品| 亚洲超碰97人人做人人爱| 国产九九热视频| 亚洲av中文无码乱人伦在线视色| 一区二区三区精密机械公司| 一级毛片免费高清中文字幕久久网| 日韩亚洲国产中文字幕欧美| 国产91在线看| av网站免费| 91久久国产婷婷一区二区| 欧美精品乱人伦久久久久久| 无国产精品白浆是免费| 久久社区一区| 日本黄色片在线观看| 欧美高清性xxxxhd| 美日韩精品免费视频| 天堂а√在线8种子蜜桃视频| 日日狠狠久久偷偷四色综合免费| 中文字幕无线精品亚洲乱码一区| 在线看国产一区| 波多野结衣免费观看| 爱福利在线视频| 激情五月五月婷婷| 中文字幕在线视频一区二区三区| 欧美午夜寂寞| 日韩专区中文字幕一区二区| 成人欧美一区二区三区黑人免费| 91ph在线| 狠狠爱www人成狠狠爱综合网| 粉嫩av亚洲一区二区图片| 91精品国产综合久久久久久久久久| 亚洲一区日本| 亚洲精品国产精品国自产在线| 日本高清视频www| 欧美亚州一区二区三区| 亚洲男人的天堂在线aⅴ视频| 欧美日本高清| av在线看网址| 国产乱国产乱老熟300| 天天做天天爱天天高潮| 一区二区三区免费| 精品视频在线播放一区二区三区| 国精产品一区一区| 免费人成在线观看视频播放| 国产欧美一区二区三区四区| 久久亚洲私人国产精品va| 亚洲 国产 欧美 日韩| 日本免费在线视频不卡一不卡二| 中文字幕日韩一区二区三区| 国产精品偷伦视频免费观看国产| 欧美最猛性xxxxx喷水| 婷婷社区五月天| 亚洲熟女一区二区三区| 精品国产第一页| 77777亚洲午夜久久多人| 欧美日韩三级在线观看| 亚洲午夜精品在线观看| 欧美日韩国产中文字幕| 国产成人av自拍| 9.1片黄在线观看| 久久久成人精品视频| 暧暧视频在线免费观看| 午夜精品久久久久久99热软件| 亚洲综合av影视| 欧美亚洲日本网站| 一级做a爰片性色毛片视频| 国产在线视频精品一区| 久久青青草原| 日本不卡1234视频| 国产成人三级在线观看视频| 在线一区二区三区做爰视频网站| 99热这里只有精品4| 天海翼一区二区三区免费| 另类高清dbsm日本tvav| 成年人视频在线免费观看| 手机在线免费看片| 久久国产精品亚洲77777| 亚洲高清免费观看| 涩涩视频在线观看下载| 精品国产aⅴ一区二区三区东京热| 麻豆av一区二区| 666av成人影院在线观看| ts人妖交友网站| 久久久久国产精品一区二区| 国产精品一线| 国产精品午夜剧场| 无码人妻精品一区二区三区蜜桃91| 久久午夜精品| 成人影视亚洲图片在线| 欧美日韩国产精选| 一本久中文高清| 国产无遮挡猛进猛出免费软件| 国产精品二三区| 奇米色欧美一区二区三区| 中文字幕中文字幕在线中心一区| 日韩av网站在线免费观看| 中文在线√天堂| 依人在线免费视频| 天天综合在线观看| 日韩精品一区二区三区电影| 97se综合| 日本综合在线观看| jizz性欧美10| 影音先锋国产资源| 亚洲在线视频福利| 午夜精品一区二区三区在线视| 日韩av在线一区二区三区| 奇米色一区二区三区四区| 台湾佬中文在线| 日韩亚洲欧美精品| 777精品伊人久久久久大香线蕉| 亚洲成色999久久网站| 国产精品99久久久久久白浆小说| 九九热这里只有精品6| 一区免费观看| 在线观看日韩精品视频| 亚洲一区二区在线视频| 日韩三级影视基地| 欧美无人区码suv| 久久国产成人午夜av影院| 亚洲电影二区| 国产亚洲观看| 日本高清在线观看| 妺妺窝人体色www在线观看| 亚州精品天堂中文字幕| 国产精品久久久久久久久快鸭| 国产激情91久久精品导航| 中文一区二区完整视频在线观看| 黄色aaa级片| 欧美视频精品一区| 涩涩日韩在线| jizz18女人高潮| 中文字幕第21页| 91精品视频观看| 国产特黄一级片| 国产模特精品视频久久久久| 国产又爽又黄又嫩又猛又粗| 日本成人在线免费观看| 欧美性高潮床叫视频| 同房视频网站| 成人精品动漫| 国产精品毛片一区视频播| 成人精品网站在线观看| av第一福利在线导航| 国产成人福利在线| 久色乳综合思思在线视频| 黄色在线网站| 国产午夜精品理论片| 成人av免费看| 青青久久aⅴ北条麻妃| 日本福利视频导航| 国产九九九九| 岛国av在线网站| 久久久久免费看| 久久久久久草| 国产蜜臀av在线播放| 国产老妇伦国产熟女老妇视频| 亚洲成人久久精品| 69成人精品免费视频| 91精品中文字幕| 老司机精品视频网站| 久久久久亚洲av成人网人人软件| 日韩av有码在线| 先锋影音欧美官网| 精品福利在线看| 任你弄精品视频免费观看| 中文字幕乱码在线播放| 国产麻豆精品高清在线播放| 国产一区二区无遮挡| 国产一区二区三区视频在线播放| 欧美精品123| 久久国产精品免费一区二区三区| 在线的色视频| 一本本久综合久久爱| 永久免费黄色片| 午夜精品福利一区二区三区蜜桃| 欧美freesex8一10精品| 同性恋视频网站资源| 欧美日韩视频免费看| 中文字幕2018| 国产91精品久久久久久| 国产av第一区| 伊人久久大香线蕉av超碰演员| 国产一区二区三区在线视频| 奇米四色…亚洲| 欧美日韩国产乱码电影| 91天堂在线视频| 色天天综合网| 樱桃国产成人精品视频| 国产欧美日韩视频一区二区三区| av高清日电影| 天堂中文字幕在线观看| 亚洲精品永久视频| 女同互添互慰av毛片观看| 黄色大片免费观看| 国产后进白嫩翘臀在线观看视频| 国产免费不卡视频| 久久三级福利| 精品国产欧美日韩一区二区三区| 免费av不卡在线观看| 26uuu另类欧美亚洲曰本| 日韩欧乱色一区二区三区在线| 先锋影音日韩| 黄色精品视频| 毛片在线导航| 国产麻豆精品95视频| 亚洲性xxxx| 久久韩剧网电视剧| 成人区精品一区二区不卡| 岛国电影中文在线| 18aaaa精品欧美大片h| 精品婷婷色一区二区三区蜜桃| 亚洲精品suv精品一区二区| 色综合久久久久综合一本到桃花网| 精品综合久久88少妇激情| 一区一区视频| 日本韩国在线视频| 中文字幕一区二区在线视频| 国产国语老龄妇女a片| 香蕉视频网页版| 91精品国产自产在线老师啪| 国产97在线 | 亚洲| 国精品一区二区| bt欧美亚洲午夜电影天堂| 欧美激情二区三区| 亚洲成人福利视频| 国产精品久久久久久模特| 中文字幕日韩精品有码视频| 成年网址网站在线观看| 国产成人精品国内自产拍免费看| 天天射天天干天天| 欧美视频免费一区二区三区| 美女精品国产| 猛性xxxxx| 成年人羞羞的网站| aaa在线视频| jizzjizzjizz欧美| 亚洲韩国精品一区| jizzjizzjizz中国免费| 欧美日韩一区二区综合| h免费在线观看| 日韩中文字幕视频在线观看| 成人av毛片在线观看| 一区二区三区中文字幕在线观看| y97精品国产97久久久久久| 丁香花高清视频完整版在线观看| 日本网站在线免费观看| 1区1区3区4区产品乱码芒果精品| 亚洲第一av网站| 国产欧美日韩不卡|