Perl 幾個技巧

2021-06-08 22:16:55 字數 1084 閱讀 4021

其實就是把小駱駝第五版的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 開啟檔案 使用三引數的形式開啟檔案...