新聞中心
本文和大家重點(diǎn)討論一下Perl標(biāo)量和數(shù)組的概念,Perl有三種變量:Perl標(biāo)量、數(shù)組、哈希;而Perl數(shù)組是由一組連續(xù)的Perl標(biāo)量。

創(chuàng)新互聯(lián)2013年至今,先為鄂倫春等服務(wù)建站,鄂倫春等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為鄂倫春企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
Perl讀書(shū)手記
一、Perl標(biāo)量
1、Perl有三種變量:Perl標(biāo)量、數(shù)組、哈希
2、字符相加不是用“+”號(hào),而是用“.”
3、
- #!/usr/bin/Perl-w
- $num1="a";####“”是字符
- $num2="5";
- $num3=$num1x$num2;####$num1重復(fù)$num2次
- print"\$num3is$num3\n";
執(zhí)行結(jié)果:
[root@test-linuxtmp]#./pe.pl
$num3isaaaaa
[root@test-linuxtmp]#
4、Perl中字符串的比較操作和Shell中的數(shù)值測(cè)試運(yùn)算相同,Perl中的數(shù)值比較操作就和Shell的字符串比較操作相同。
awk中“=”表示賦值“==”表示等于關(guān)系的判斷
二、Perl數(shù)組--數(shù)組是由一組連續(xù)的Perl標(biāo)量
1、Perl中使用@加上數(shù)組名來(lái)表示一個(gè)數(shù)組;Perl中的數(shù)組下標(biāo)是從“0”開(kāi)始;Perl中的數(shù)組元素不必是同一數(shù)據(jù)類(lèi)型
2、使用[]申請(qǐng)數(shù)組中第幾個(gè)元素
3、$name@name%name分別表示Perl標(biāo)量數(shù)組散列
4、push能夠把一些元素添加到數(shù)組尾部,而pop函數(shù)每次只能取走一個(gè)元素(是取走而不是復(fù)制)末理解的“堆棧數(shù)據(jù)結(jié)構(gòu)”
- [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函數(shù)是在數(shù)組的頭部插入一個(gè)或者是一些新的元素;shift是從數(shù)組的頭部移走一個(gè)元素,整個(gè)數(shù)組看起來(lái)像是向左移動(dòng)了一個(gè)位置。
- #!/usr/bin/Perl-w
- @list1=(0..4);
- @list2=("zero","one","two","three","four");
- unshift(@list1,@list2);###是將數(shù)組list2插入到數(shù)組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函數(shù)的功能是顛倒數(shù)組,它可以把數(shù)組元素的順序頭尾顛倒。
- [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、哈希
哈希變量和數(shù)組非常類(lèi)似,都可以存放多個(gè)Perl標(biāo)量,每個(gè)Perl標(biāo)量可以通過(guò)索引單獨(dú)存取。不同的是哈希變量的索引不是數(shù)組的下標(biāo),而是另一個(gè)Perl標(biāo)量。通常這個(gè)Perl標(biāo)量被稱(chēng)作key,通過(guò)key,我們就可以訪問(wèn)
到其對(duì)應(yīng)的數(shù)據(jù)。另一點(diǎn)的不同是哈希變量中的元素沒(méi)有先后之分,是無(wú)序的,key是能夠訪問(wèn)它們的惟一通道。Perl中使用百分號(hào)“%”來(lái)表示一個(gè)哈希變量。
為以下內(nèi)容
- [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]#
執(zhí)行錯(cuò)誤
- [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行注釋掉可以成功執(zhí)行。原因不清楚
[root@test-linuxtmp]#catpt.pl
#!/usr/bin/Perl-w
%area=(1,"a",2,"b");
print"\%areais1$area{1}\n";
【編輯推薦】
- 解析兩大Perl標(biāo)量的操作符
- 淺析Perl標(biāo)量的操作符
- 實(shí)例解析Perl守護(hù)進(jìn)程用法
- Perl模式匹配經(jīng)驗(yàn)總結(jié)
- 術(shù)語(yǔ)匯編 Perl變量中Perl關(guān)聯(lián)數(shù)組用法解析
分享題目:Perl基礎(chǔ) 解析Perl標(biāo)量和數(shù)組概念
標(biāo)題來(lái)源:http://m.fisionsoft.com.cn/article/dpiccph.html


咨詢(xún)
建站咨詢(xún)
