在雙引號內可以使用@直接輸出陣列
@rocks=qw(flinstone slate rubblke);
print "quarrz @rocks limtstone\n";
#print "[email protected]";#如果我們真的想要輸出@21136.com.cn,那麼我們需要將@轉義,即\@;或者直接使用單引號
@fred=qw(hello dolly);
$y=2;
$x="this is $fred[1]`s place\n";
print $x;
$x="this is $fred[$y-2]`s place\n";
print $x;
print @fred;
print "\n";
$rock="ads";
foreach $rock(@fred)
print @fred;
print $rock;
foreach可以遍歷整個陣列,但是不同的是
在每次迴圈迭代時,控制變數,比如$rock不是列表元素的複製品,而他實際上就是列表元素,也就是說如果在迴圈中修改了控制變數,實際上就是修改了列表,然而當,迴圈結束
後控制變數仍然是迴圈之前的資料,如果未被賦值過那它就還是undef
perl中的預設變數"$_"
@tmp=qw(abc bcd efg);
foreach(@tmp)
print $_;
print "\n";
預設變數,即當未告知perl使用哪乙個變數或者數值的時候會自動使用的變數,不需要程式設計師自行宣告的變數
reverse操作符,即將列表中的值進行反向操作,需要注意的是該操作並不會改變傳遞進來的引數,因此如果沒有被賦值的列表,則該操作不再具有意義
sort操作符讀取列表中字元的值,並且根據字元編碼的公升序進行排列。
@tmp=qw(a b c d);
@sorted=sort(@tmp);
print @sorted;
乙個例外的例項
@number=qw(97 98 99 100 101 102);
@sorted=sort(@number);
foreach(@sorted)
輸出的結果是100 101 102 97 98 99
為什麼會這樣呢?因為根據預設的排序規則,排在首位的,先進行比較,首位的1自然要比9要小,所以,100,就排在了99的前面
perl遍歷檔案
本貼對三種遍歷資料夾方法比較。1.使用file find 2.遞迴遍歷。遍歷函式為lsr 3.使用佇列或棧遍歷。遍歷函式為lsr s 1.use file find copy to clipboard code usr bin perl w file find.pl author 路小佳 licen...
Perl 遍歷雜湊
我們在遍歷二維或多維的雜湊時,可以採用遞迴的方法.1.首先檢視每個value的值型別,如hash,array,還是簡單的標量 2.如果value的值型別是hash,則遞迴直到找到相應的array 或者標量 3.如果value的值型別是array,則通過迴圈列印出各個元素 4.如果value的值型別是...
Perl遍歷目錄
環境為windos,需要注意的兩點 1 預設activeperl下的採用的編碼是gbk,所以需要將字串轉為gbk才不會顯示亂碼 2 遍歷檔案目錄時,需要排除特殊的目錄.和.完整的 usr bin perl 2 use strict 3 use warnings 4 use encode qw fro...