Perl學(xué)習(xí)筆記----Perl命令行
本文和大家重點(diǎn)討論一下Perl命令行的用法,在學(xué)習(xí)Perl語(yǔ)言的過(guò)程中,掌握Perl命令行的使用是非常必要的,希望通過(guò)本文的學(xué)習(xí)你對(duì)Perl命令行的使用有明確的認(rèn)識(shí)。
Perl命令行工具
debug可以幫助我們很好的review我們的代碼。類似于VC中的debug可以stepbystep的調(diào)試程序,同樣可以設(shè)置斷點(diǎn)??梢栽赿ebug過(guò)程中改變某個(gè)變量的值。例如
DB<1>$a=5
另外如果想查看某個(gè)變量的值可以用print命令
DB<1>print$a
一、開始debug及相關(guān)Perl命令行指令
Perl-dscript_name
如果你的腳本的語(yǔ)法或函數(shù)拼寫沒(méi)有錯(cuò)誤的話就直接顯示LoadingDBroutinesfromPerl5db.plversion1.0401#(你的版本號(hào)可能不一樣)
Emacssupportavailable.
Enterhor`hh`forhelp.
main::(文件名:1):...............#顯示該腳本的第一行可執(zhí)行代碼
DB<1>_#表示在等待他的第一個(gè)命令
其中1表示第一個(gè)debug指令,如果你再輸入一個(gè)指令n數(shù)目就會(huì)自動(dòng)加一。
DB<1>n
n表示next,表示程序運(yùn)行下一步。
DB<2>l
l表示運(yùn)行當(dāng)前10行,再輸入l則運(yùn)行下一個(gè)10行。如果想從某特定行開始運(yùn)行輸入如下命令
DB<3>lline_number例如DB<3>l11
同樣可以設(shè)置起始行和結(jié)束行,命令如下
DB<4>lstart_no-end_no例如DB<4>l10-15
程序運(yùn)行的當(dāng)前行由==>來(lái)表示
二、設(shè)置斷點(diǎn)
Perl命令行中設(shè)置斷點(diǎn)的命令如下
DB<5>bline_no例如DB<5>b22
與其對(duì)應(yīng)的另一個(gè)命令,就是繼續(xù)執(zhí)行程序到下一個(gè)斷點(diǎn)或者程序的結(jié)束
DB<6>c
取消斷點(diǎn)命令如下
DB<7>dline_no例如DB<7>d22
查看所有的斷點(diǎn)
DB<8>L
三、其他指令
DB<9>R重新啟動(dòng)程序
DB<10>q退出debug程序
DB<11>s單步執(zhí)行你的程序,它可以執(zhí)行函數(shù),
然后在函數(shù)的第1個(gè)指令處停止運(yùn)行
四、其他Perl命令行
Perl-c由此檢查所有語(yǔ)法錯(cuò)誤。每次修改Perl程序之后我都會(huì)立刻使用它來(lái)找到任何語(yǔ)法錯(cuò)誤。
-W與#!user/bin/Perl-w作用相同,后者應(yīng)用比前者要好
-T它讓Perl出于了taint模式中。在這個(gè)模式里,Perl會(huì)質(zhì)疑任何程序外傳來(lái)的數(shù)據(jù)。
-e可以讓Perl代碼在命令行上被編譯器直接執(zhí)行.例如:Perl-eprint"executePerldiretly";
-v若要了解更加詳細(xì)的信息,比如該解釋程序是如何創(chuàng)建的,何時(shí)創(chuàng)建的.
-n可用于將任何-e語(yǔ)句封裝在該小程序中
while(<>)
{
}
例如:Perl-n-c's/^\s+//g;print$_'file1
名字為file1的文件被打開,并被賦予while循環(huán)中的$_,while(<>)
{
s/^\s+//g;
print$_
}
-p與-n作用相同,只是自動(dòng)寫入另一個(gè)文件
例如:Perl-p-c's/^\s+//g;print$_'file1>file2。
本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/yc0188/archive/2007/05/28/1628135.aspx
【編輯推薦】