您好,登錄后才能下訂單哦!
本篇內容介紹了“Perl標量和數組的概念是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
一、Perl標量
1、Perl有三種變量:Perl標量、數組、哈希
2、字符相加不是用“+”號,而是用“.”
3、
#!/usr/bin/Perl-w $num1="a";####“”是字符 $num2="5"; $num3=$num1x$num2;####$num1重復$num2次 print"\$num3is$num3\n";
執行結果:
[root@test-linuxtmp]#./pe.pl
$num3isaaaaa
[root@test-linuxtmp]#
4、Perl中字符串的比較操作和Shell中的數值測試運算相同,Perl中的數值比較操作就和Shell的字符串比較操作相同。
awk中“=”表示賦值“==”表示等于關系的判斷
二、Perl數組--數組是由一組連續的Perl標量
1、Perl中使用@加上數組名來表示一個數組;Perl中的數組下標是從“0”開始;Perl中的數組元素不必是同一數據類型
2、使用[]申請數組中第幾個元素
3、$name@name%name分別表示Perl標量數組散列
4、push能夠把一些元素添加到數組尾部,而pop函數每次只能取走一個元素(是取走而不是復制)末理解的“堆棧數據結構”
[root@test-linuxtmp]#catpg.pl #!/usr/bin/Perl-w @list1=(1..4); @list2=("zero","one","two","three","four"); push(@list1,@list2); $last=pop(@list1); print"\@list1is@list1\n"; print"\@list2is@list2\n"; print"\$lastis$last\n"; [root@test-linuxtmp]#vipg.pl [root@test-linuxtmp]#./pg.pl @list1is1234zeroonetwothree @list2iszeroonetwothreefour $lastisfour [root@test-linuxtmp]#
5、unshift函數是在數組的頭部插入一個或者是一些新的元素;shift是從數組的頭部移走一個元素,整個數組看起來像是向左移動了一個位置。
#!/usr/bin/Perl-w @list1=(0..4); @list2=("zero","one","two","three","four"); unshift(@list1,@list2);###是將數組list2插入到數組list1 $last=shift(@list1); print"\@list1is@list1\n\@list2is@list2\n\$lastis$last\n"; [root@test-linuxtmp]#./ph.pl @list1isonetwothreefour01234 @list2iszeroonetwothreefour $lastiszero [root@test-linuxtmp]#
6、reverse函數的功能是顛倒數組,它可以把數組元素的順序頭尾顛倒。
[root@test-linuxtmp]#catpi.pl #!/usr/bin/Perl-w @list1=(0..4); print"\@list1is@list1\n"; @list1=reverse(@list1); print"\@list1reverseis@list1\n"; [root@test-linuxtmp]#./pi.pl @list1is01234 @list1reverseis43210 [root@test-linuxtmp]#
7、哈希
哈希變量和數組非常類似,都可以存放多個Perl標量,每個Perl標量可以通過索引單獨存取。不同的是哈希變量的索引不是數組的下標,而是另一個Perl標量。通常這個Perl標量被稱作key,通過key,我們就可以訪問
到其對應的數據。另一點的不同是哈希變量中的元素沒有先后之分,是無序的,key是能夠訪問它們的惟一通道。Perl中使用百分號“%”來表示一個哈希變量。
為以下內容
[root@test-linuxtmp]#catpl.pl #!/usr/bin/Perl-w $area{'beijing'}=9; $area{'shanghai'}=8; print"$area{'beijing'}\n" %areab=('hebei'=>5,'handan'=>4); print"\$areabhebeiis$areab{'hebei'}\n"; print"\$areabhandanis$areab{'handan'}\n" [root@test-linuxtmp]#
執行錯誤
[root@test-linuxtmp]#./pl.pl Unquotedstring"areab"mayclashwithfuturereservedwordat./pl.plline5. Operatororsemicolonmissingbefore%areabat./pl.plline5. Ambiguoususeof%resolvedasoperator%at./pl.plline5. Can'tmodifymodulus(%)inscalarassignmentat./pl.plline5,near");" Executionof./pl.plabortedduetocompilationerrors.
但將2到4行注釋掉可以成功執行。原因不清楚
[root@test-linuxtmp]#catpt.pl
#!/usr/bin/Perl-w
%area=(1,"a",2,"b");
print"\%areais1$area{1}\n";
“Perl標量和數組的概念是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。