Perl: 編程注意細節雜記

本文零散的記錄了Perl語言編寫過程中的一些小問題,這些問題有可能對初學者產生困惑,希望對大家幫助。

1)Perl獲取Shell指令執行結果

一般,在Perl中執行Shell指令的語句是

system `cmd`
或者是

`cmd`

要想在Perl中獲取到Shell的執行結果,必須在前面加數組變量以便存儲數據。

my @result = `cmd`
這裏切勿寫成

my @result = system `cmd`
這種寫法會導致無法獲取Shell命令的執行結果

2)Perl遍歷數組的時候使用foreach的問題

遍歷數據可以使用兩種主要方法,一種是使用foreach

foreach my $line (@array){
    #do some operation
}
或者是類似C語言中的for和while語句

my $num = scalar(@array);
for(my $i=0; $i!=$num; $i++){
    my $line = $arrary[$i];
    #do some operation
}
兩者有一個重要的據別,就是foreach的遍歷具有記憶行,兩次使用foreach遍歷數組的時候,第二次會緊跟第一次遍歷的位置開始遍歷,而使用for和while循環體則不會有這種顧慮,所以請不要假設每一次的foreach都是從數組首元素開始遍歷。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章