新聞中心
本文和大家重點(diǎn)討論一下Perl標(biāo)量的操作符,Perl語言有很多值得學(xué)習(xí)的地方,這里向大家簡單介紹一下Perl標(biāo)量問題,Perl標(biāo)量可以分為兩類:一類是數(shù)字,另一類是字符串。

創(chuàng)新互聯(lián)公司是專業(yè)的四平網(wǎng)站建設(shè)公司,四平接單;提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行四平網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
Perl標(biāo)量的操作符
今天來看看Perl標(biāo)量的操作符,Perl標(biāo)量可以分為兩類:一類是數(shù)字,另一類是字符串。在perl中這兩類數(shù)據(jù)可以相互轉(zhuǎn)化,但是操作還是有區(qū)別的。
下面先介紹數(shù)字類型的操作符:
數(shù)字類型的運(yùn)算操作符有一下幾種:
+(加),-(減),*(乘),/(除),-(取反)。
下面講一些難的。
第一個是“%”(取余)。嗯,會C語言的可以退場。這個操作符的使用方法和“/”差不多,但是結(jié)果是除之后的余數(shù)。例如:
$a=6%5;這時$a的值為1;
$b=5%6;這時$b的值為5。
如果在進(jìn)行求余運(yùn)算時不是整數(shù),那么四舍五入后進(jìn)行運(yùn)算,不可以對0求余噢!
第二個是冪運(yùn)算(**)。
$c=2**3;這時$c的值為8。相信我,我寫了一個程序?qū)嶒?yàn)過的,程序如下:
- #!/user/bin/perl-w
- usestrict;{
- my$a=2**3;
- print$a;
- }
還有兩種我們應(yīng)該知道的運(yùn)算符是“++”和“--”?!?+”在自身基礎(chǔ)上面加一,“--”在自身基礎(chǔ)上減一。這種運(yùn)算在c里面經(jīng)常用的。
數(shù)字的比較運(yùn)算符有下面幾個:“<”,“>”,“<=”,“>=”我想這幾個我就不用解釋了。再有一個就是“==”這個運(yùn)算符用來對比兩個數(shù)字是否相等。然后就是“!=”表示兩個數(shù)字不等。
還有一個好玩的比較運(yùn)算符是“<=>”,這個運(yùn)算符當(dāng)左邊的數(shù)字小于右邊的時返回-1,相等時返回0,當(dāng)左邊的大于右邊的時返回1。
另外就是位操作符了,和c一摸一樣。
位與:&位或:|位非:~位異或:^左移:$x<<1右移:$x>>2
注:不要將&用于負(fù)整數(shù),因?yàn)镻ERL將會把它們轉(zhuǎn)化為無符號數(shù)。
然后要講一講的是賦值操作符,最基本的賦值操作符是“=”,(廢話?。┤缓笠环N是“+=”表示在自身基礎(chǔ)上面增加。例如:
$d=3;$d+=3;這時$d就等于6了。
相應(yīng)的還有“-=”,“*=”,“/=”,“**=”,“^=”,“&=”,“|=”,“~=”。數(shù)字的操作符大致就有這些了。
下面是關(guān)于字符串的操作符的介紹
兩個字符串相加(連接)用“.”進(jìn)行。例如:$e="hello"."all";
這時$e的值為“helloall”相應(yīng)的也就有“.=”運(yùn)算了。
另外還有一個運(yùn)算符是x,沒錯,就是它。用來表示……只可意會,不可言傳。
$f="f"x5; 此時$f的值為"fffff",明白了吧?
字符串的比較用以下的操作符進(jìn)行:
“l(fā)t”意為“小于,lessthan”;
“gt”意為“大于,greaterthan”;
“eq”意為“等于,equal”;
“l(fā)e”意為“小于等于,lessthanorequal”;
“ge”意為“大于等于,greaterorequal”;
“ne”意為“不等于,notequal”;
“cmp”意為“比較,返回1,0,or-1,compare”。
可以看出來字符串的操作和數(shù)字的操作是相對的。
另外對字符串可以進(jìn)行“++”運(yùn)算,這時將會把字符串的ascii碼加一。但是"z"++卻是"a","Z"++是"A","9"++是0,"ab99"++將會得到"ac00"。呵呵,很好玩吧?字符串是沒有-,*,/等運(yùn)算的。如果我們對字符串進(jìn)行這些運(yùn)算則表示我們要把字符串轉(zhuǎn)換成數(shù)字然后進(jìn)行計算。如果這個字符串是"111"還好說,如果我們強(qiáng)制perl把例如"aaaaa"一類的字符串進(jìn)行數(shù)字運(yùn)算,perl會把這些字符串轉(zhuǎn)換成0。因此"aaa"--將會得到-1。很好玩是不是?呵呵,perl還有很多好玩的東西。
對Perl標(biāo)量進(jìn)行操作還可以使用下面的函數(shù)。
第一個是length(),這個函數(shù)可以返回變量打印出來的長度。例如:
length(23),將會返回2;
length("hahaha"),將會返回6;
length(1)將返回1。
在perl5中l(wèi)ength("你好"),將會返回4,聽說在perl5.6中將不會。我沒有實(shí)驗(yàn)過,不好說什么。
第二個函數(shù)是chop()。這個函數(shù)將會節(jié)掉字符串中的最后一個字符,例如:
$g="aaa";
chop($g);
這時$g中的值是"aa";同時chop會返回它所截下來的字符。試一試$g="你好";chop($g);會發(fā)生什么?
第三個函數(shù)是chomp(),這個函數(shù)僅僅將字符串末尾的換行符裁掉。
第四個函數(shù)是substr()這個函數(shù)可以從一個字符串中截取一段長度的字符串并將其返回。例如:
$h="helloall";
$i=substr($h,3,5)
將會從“helloall”中截取長度為5的字符串,就是"loal"。試一試這樣呢?
$h="你們好嗎?";
$i=substr($h,3,5);
第五個很有用的函數(shù)就是defined(),這個函數(shù)用來判斷一個數(shù)據(jù)是否已經(jīng)定義。在perl中,一個數(shù)據(jù)如果沒有定義,那么他將會是一個叫做undef的特殊值?!efined()是一個非常有用的函數(shù)。至少我經(jīng)常用。有其是在判斷cgi輸入的時候。
ok,今天就這么多了。兩天就睡了三個小時,明天再繼續(xù)吧!
【編輯推薦】
- 淺析Perl標(biāo)量的操作符
- 常用Perl命令行參數(shù)應(yīng)用介紹
- 解析四大Perl操作符用法
- 淺析Perl命令行應(yīng)用
- 學(xué)習(xí)筆記 Perl數(shù)字與字符串間的自動轉(zhuǎn)換
本文名稱:解析兩大Perl標(biāo)量的操作符
網(wǎng)站地址:http://m.fisionsoft.com.cn/article/cddsegp.html


咨詢
建站咨詢
