其實就是把小駱駝第五版的17章做了個中文摘要,這些高階技巧常常忘記,寫一寫希望能幫助自己加深記憶。
1. 用eval獲得程式的執行錯誤
$a = 10;
$b = 0;
$c = $a/$b;
會發生什麼?
程式會crash,因為有浮點數異常。用eval就可以做到兩全,既執行語言,又能在出現異常的時候不crash
$a = 10;
$b = 0;
eval ;
eval 可以捕獲執行的多條語句的錯誤結果。
然後用$@可以得到錯誤原因。
#!/usr/bin/perl
$a = 10;
$b = 0;
eval ;
if ($@) else
2. 用grep從列表裡選取資料
比如, 從1到100中取出所有的奇數
#!/usr/bin/perl
my @odds = grep 1..100;
print "$_ " foreach @odds;
3.用map傳遞列表的值
比如你已經有了乙個列表,如何把列表的每個值作為key建立乙個hash?
#!/usr/bin/perl
use data::dumper;
my @array = (a, b, c);
my %hash = map @array;
print "hash: ".dumper(/%hash);
grep和map有點類似,都是把list的值一一拿出來放進$_,然後執行block {}中的語言,區別在於:
grep: 返回在block{}中最後一句執行結果為真的$_
map: 返回在block{}中最後的一句
4. 選取list中的部分元素
my @array = (a, b, c);
my @new = @array[ 0, 2];
@new中將包含a和c
5. 選取hash中的部分元素
my @three_scores = ($score, $score, $score);
my @three_scores = @score;
總結 Perl技巧
1.perl超時機制eval sub alarm 10 my startcmdresult qx tmpcmd alarm 0 if timeout 2.忽略sigchld訊號,避免產生殭屍程序 sig ignore 3.等待 sub show flower print r local 0 4.pe...
Perl 有幾個階段
學習 perl 有幾個階段 學perl 用perl 創造 創新。基本就對應了下面的幾個部分 perl 新手 if,else,for 之類的控制迴圈結構 了解 perl 的常用特別的符號 能使用陣列和 hash 了解和會使用一些基本的函式 基本可以使用 perl 代替 shell 的事情 會安裝 pe...
perl幾個檔案操作例子
perl用的最多的地方就算是檔案處理了,下面我就總結了一下perl檔案操作的一些東西,並且有具體的例子,通過下面的例子,加強我們對perl檔案操作的理解。刪除檔案 使用unlinke函式,比如unlink file,unlink file1,file2,file3 開啟檔案 使用三引數的形式開啟檔案...