溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Perl運(yùn)算符如何使用

發(fā)布時(shí)間:2021-07-12 09:43:12 來源:億速云 閱讀:151 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了Perl運(yùn)算符如何使用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

Perl語法 Perl運(yùn)算符簡介

1.Perl運(yùn)算符

1.1 算數(shù)運(yùn)算符

 Perl固然在變量與數(shù)據(jù)范例都和C大不不異,然而它的運(yùn)算符和C險(xiǎn)些不異,除了C的范例轉(zhuǎn)換運(yùn)算符type,指針引用運(yùn)算符*ptr和布局成員選擇符,其他C的運(yùn)算符險(xiǎn)些完全呈現(xiàn)在Perl里,Perl新增了幾個(gè)新運(yùn)算符,好比在字符處置方面.

◆Perl到今朝撐持的算數(shù)運(yùn)算符有一些幾種:

+加法運(yùn)算符
-減法運(yùn)算符
*乘運(yùn)算符
/除運(yùn)算符(只對浮點(diǎn)數(shù)運(yùn)算)
%取模運(yùn)算符(只對整數(shù)運(yùn)算)

下面給出Perl算數(shù)運(yùn)算的一些實(shí)例:

$x=2.5;
$y=3;
print($x+2*$y);
print(7/$y);
printint(7/$y);
print(7%$y);
print(7.5%$y);

Perl還撐持遞增和遞減運(yùn)算符:

++遞加
--遞減

◆Perl新增了乘方運(yùn)算符:**,請看下面的例子:

$x=2**3;#2的3次方
$y=2**0.5;#2的平方根
$z=-2**-3;#成果是:-0.125

1.2 Perl語法之位運(yùn)算符

位運(yùn)算符對二進(jìn)制表達(dá)式的整數(shù)情勢舉行處置,運(yùn)算成果為整數(shù).若是位運(yùn)算符的操縱數(shù)是字符串或分?jǐn)?shù),Perl起首把它們轉(zhuǎn)換成整數(shù),并用32位長整數(shù)情勢暗示它們.Perl撐持全部的C說話運(yùn)算符:

|位或運(yùn)算符
&位與運(yùn)算符
.位非運(yùn)算符
<<位左移運(yùn)算符>>位右移運(yùn)算符

有關(guān)位運(yùn)算符的具體內(nèi)容,請參看C說話有關(guān)的內(nèi)容,這里我們就未幾講了,只舉幾個(gè)例子:

$x=5;
$y=3;
print$x|$y;#成果是7(二進(jìn)制暗示:111)
print$x&$y;#成果是1(二進(jìn)制暗示:001)
print$x<<2;#成果是20(二進(jìn)制暗示:10100)print$x>>1;#成果是2(二進(jìn)制暗示:10)

1.3Perl語法之比力運(yùn)算符

 比力運(yùn)算符的功效是比力兩個(gè)操縱數(shù)的值.Perl在舉行比力運(yùn)算前,會先將字符操縱數(shù)轉(zhuǎn)換為數(shù)字.Perl用專門的字符串比力運(yùn)算符對純字符舉行表運(yùn)算.

1.4Perl語法之邏輯運(yùn)算符

邏輯運(yùn)算符測試布爾表達(dá)式的值,其成果為真或假.Perl以為邏輯運(yùn)算符的每個(gè)操縱數(shù)都為布爾值(即真或假).Perl的邏輯運(yùn)算符包羅:

||邏輯或運(yùn)算符;
&&邏輯與運(yùn)算符.

Perl按從左到右的挨次計(jì)較邏輯表達(dá)式.當(dāng)邏輯或運(yùn)算符的一個(gè)操縱數(shù)為真,大概當(dāng)邏輯與運(yùn)算符的一個(gè)操縱數(shù)為假時(shí),Perl將停止邏輯表達(dá)式的計(jì)較.Perl操縱這種短回路計(jì)值快速計(jì)較表達(dá)式的值.是以,這兩個(gè)運(yùn)算符也叫短回路AND和短回路OR.

除了以上兩個(gè)運(yùn)算符,另有以下三種邏輯運(yùn)算符:

!負(fù)運(yùn)算符
?:前提運(yùn)算符
,挨次計(jì)值符

運(yùn)算符!否認(rèn)操縱數(shù)的布爾值,相稱于邏輯非.?:前提運(yùn)算符,有3個(gè)操縱數(shù),表達(dá)情勢為:condition?true-result:false-result

下面的語句經(jīng)由過程?:運(yùn)算符,實(shí)現(xiàn)拜候權(quán)限的區(qū)分:
$access=($usereq'流云'?'root':'guest');
挨次運(yùn)算符(,)從嚴(yán)酷意義上講并不是邏輯運(yùn)算符,由于它并不查抄操縱數(shù)的真假.Perl從左到右的計(jì)較逗號運(yùn)算符,并返回最右邊的操縱數(shù),都好運(yùn)算符是從C連續(xù)出來的,詳細(xì)利用可以參考C里的用法,這里我就不累述了.

1.5Perl語法之字符運(yùn)算符

因?yàn)镻erl自己是為文本處置開辟的.是以,它增添很多新的字符串運(yùn)算符.Perl的字符串運(yùn)算符包羅:

.字符毗連運(yùn)算符
x字符串復(fù)制運(yùn)算符
=~將一個(gè)變量綁定到模式立室
!~將一個(gè)變量綁定到模式立室,取非

前兩個(gè)運(yùn)算符比力簡略.此刻看看例子:print'C'.'a'.'l'x2;#輸出成果將是:Call;
后兩個(gè)運(yùn)算符首要用于模式立室,今后將會有關(guān)于模式立室的詳細(xì)解說,這里就未幾說了,我們來看看它們的例子,以領(lǐng)會它們的感化:

$text='本日下雨了';
print($text=~/下雨/)?'本日下雨了':'本日沒下雨';
我們看到的例子可以發(fā)明是否變量中是否包羅我們所必要的字符串.

1.6Perl語法之賦值運(yùn)算符

賦值運(yùn)算符和C說話的賦值運(yùn)算符差未幾,以下是各類賦值運(yùn)算符:

=+=-=*=/=%=|=&=
^=~=<<=>>=**==.=x=

1.7Perl語法之Lvalue

 在Perl和C說話中,lvalue暗示賦值運(yùn)算符左邊的實(shí)體.也便是說,lvalue與變量一樣,可以給它分派值.比方在Perl號令文件中不克不及向字符串賦值,如"Bob"=32這個(gè)語句便是錯(cuò)誤的!由于"Bob"不是一個(gè)lvalue,可是若是對$Bob賦值,如$Bob=32,這個(gè)語句便是準(zhǔn)確的!由于變量$Bob是一個(gè)lvalue.
在Perl中,任何故意義的lvalue只能暗示一個(gè)實(shí)體.比方下面的***個(gè)語句列出了表的值(便是數(shù)組的值,只不外說法紛歧樣而已),@color便是一個(gè)lvalue,第二個(gè)語句中,將表的值賦值給3個(gè)標(biāo)量變量,3個(gè)變量便是lvalue:

@color=($r,$g,$b);
($r,$g,$b)=@color;

Perl的賦值運(yùn)算符對表舉行處置時(shí),可以不合錯(cuò)誤整個(gè)表舉行處置,而只針對表的某一個(gè)大概幾個(gè)元素舉行賦值:

@times[2,5,9]=(20,40,10);

下面的語句把表的前2個(gè)值賦給兩個(gè)標(biāo)量,別的部門賦給另一個(gè)表:

($arg1,$arg2,@reset)=@ARGV;

1.8Perl語法之表運(yùn)算符

 Perl包羅以下一些表運(yùn)算符,而c沒有:

,表機(jī)關(guān)符
..規(guī)模運(yùn)算符
x表復(fù)制運(yùn)算符

前面我們在先容"標(biāo)量與數(shù)組變量"時(shí),已經(jīng)計(jì)劃到了機(jī)關(guān)符(我以為叫分開符,更輕易明白些)規(guī)模運(yùn)算符我們在用來建立數(shù)組下標(biāo)規(guī)模時(shí),也用到過!不外,請注重它的功效還遠(yuǎn)不止這個(gè),它還可以用來作為返回從左邊操縱數(shù)到右邊操縱數(shù)之間挨次整數(shù)的規(guī)模(包羅擺布雙方的操縱數(shù)).號令文件凡是同時(shí)操縱規(guī)模運(yùn)算符締造一個(gè)持續(xù)整數(shù)表:@digits=0..9;

如許我們就締造了一個(gè)表,其值為(0,1,2,3,4,5,6,7,8,9)
表復(fù)制運(yùn)算符是一個(gè)很是風(fēng)趣的東東,我們來看一個(gè)例子:@copy_3=(1,2,3)x3;這個(gè)表有9元素,其值為(1,2,3,1,2,3,1,2,3)怎么樣?很便利吧!

1.9Perl語法之文件運(yùn)算符

Perl大大擴(kuò)展了文件處置運(yùn)算符.Perl至少有27個(gè)運(yùn)算符在不打開文件的環(huán)境下,可以或許測試文件的信息,可是很不幸,因?yàn)镻erl在最初是UNIX的東西,以是絕大大都的運(yùn)算符在我們風(fēng)行的平臺上:WIN9X/NT體系無法利用.但萬幸的是不是全數(shù)另有4個(gè)運(yùn)算符絕對可用,并且功效不錯(cuò)哦!一下便是那4個(gè)運(yùn)算符:

-d測試文件是不是一個(gè)目次;
-e測試文件是否存在;
-s測試文件的巨細(xì);
-w測試文件是否是可寫的;

前兩個(gè)運(yùn)算符返回的是布爾值(即真或假),第3個(gè)運(yùn)算符返回文件的巨細(xì)(以字節(jié)作為返回體例).下面是
利用方式:

if(-e'Perl.exe')  {  print'Filesizeis:'-s'Perl.exe';  }  else  {  print'Can\'tfindPerl.exe\n';  }  (-w'SomeFile')||die"CannotwritetoSomeFile\n";

上述內(nèi)容就是Perl運(yùn)算符如何使用,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI