成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

深入解析Perl內部函數的使用

開發 架構
本文向大家介紹一下Perl內部函數,Perl語言中的函數主要分為兩類:數組運算符和命名的一元運算符。不同之處在于他們的優先級關系。

本文和大家重點討論一下Perl內部函數,Perl中的函數主要分為兩類:數組運算符和命名的一元運算符。數組運算符需要一個以上的參數,而一元運算符不能超過一個參數,而一元運算符一般只提供一個標量作為參數,而數組運算符可能會提供標量或者數組作為參數。

Perl內部函數

Perl中的函數主要分為兩類:數組運算符和命名的一元運算符。不同之處在于他們的優先級關系。(參閱優先級表)數組運算符需要一個以上的參數,而一元運算符不能超過一個參數。因此,一個逗號將結束一個一元運算符,對于數組運算符,只是起到分隔的作用。一元運算符一般只提供一個標量作為參數,而數組運算符可能會提供標量或者數組作為參數。如果二者都有,標量參數一般在前面,數組參數跟在后面。(注意,可以只有一個數組變量)比如,splice()有三個標量變量,后面加上一個數組,相反gethostbyname()有四個標量變量。

在語法描述中,數組運算符需要一個用LIST標識的數組作為參數。這些數組可能由標量參數和數組值混合組成;
數組值將包含在數組中,每個元素被插入數組中,形成一個更長一維的數組值。數組的元素應該用逗號分開。

下面列出的Perl內部函數有的在參數兩邊有括號,有的沒有。(語法描述中省略括號)

如果你使用括號,一個簡單的規則是(偶爾會令人吃驚):如果是函數,沒有優先級的問題;如果它是一個數組運算符或者一元運算符
那么就要考慮優先級。并且,函數兩邊的空白和"("是不計算的--因此,有時候需要小心行事。看看下面的幾個例子:

print1+2+4; #Prints7.
print(1+2)+4; #Prints3.
print(1+2)+4; #Alsoprints3!
print+(1+2)+4; #Prints7.
print((1+2)+4); #Prints7.
前面說得似乎有點抽象,那么你在運行Perl時帶上-w開關你將得到一些警告信息,您可以根據這些信息再體會一下。例如,上面的例子會產生如下信息:

print(...)interpretedasfunctionat-line1.
Uselessuseofintegeradditioninvoidcontextat-line1.
有些Perl內部函數根本不需要參數,因此工作方式和一元運算符和數組運算符都不同,time和endpwent算是兩個典型吧.如,time+86_400實際上是time()+86_400.

對于可以用在標量或者數組的上下文中的函數,非失敗性的錯誤在標量環境下通常暗示返回了未定義的值或在數組環境下返回一個空的數組。

記住下面的重要原則:

沒有規則和數組環境下的表達式的行為和他的標量環境的行為有關系,反之亦然。這可能產生兩種完全不同的情況。在標量環境下,每個運算符和函數決定怎樣以最恰當的次序返回值。有些運算符在數組環境下返回數組的長度.,有些運算符返回的一個元素,有些返回數組中的***一個元素,有些返回成功執行的操作的語句數。通常,他們返回一些你需要的值,除非你需要連續性。

在標量環境下的命名數組在***眼看上去時和在標量環境下的列表有很大的不同。在標量環境下,你不能得到一個像(1,2,3)的列表,因為在編譯時,編譯器是知道當前環境的,它將在那里產生標量的逗號運算符,而不是用于分隔數組元素的逗號.也就是說,它永遠不會以一個數組開始。

一般說來,Perl內部函數對應相應的系統調用(如chown(2),fork(2),closedir(2),等等.)成功調用后返回真值,否則返回undef,下面將會提到。這一點和C的接口不一樣,C中出錯時將返回-1.但是也有幾個例外,他們是wait,waitpid,和syscall.系統調用出錯時出錯信息將通過特殊變量$!返回。其他的函數則不會,除非發生意外。

【編輯推薦】

  1. 用Perl語言進行Socket編程
  2. 淺談配置Eclipse支持Perl腳本開發
  3. 用Perl和Google Earth創建可用性地圖
  4. Perl語言中的“指針”
  5. 讓Perl成為你的嵌入式開發工具

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-19 14:13:41

Perl函數

2010-07-13 14:26:11

Perl數組

2010-07-19 13:32:55

Perl用戶函數

2010-07-21 10:18:41

Perl map函數

2010-07-19 13:49:17

Perl函數

2010-07-20 14:41:55

Perl語法

2010-07-19 14:20:57

Perl函數

2010-07-19 15:31:10

Perl關聯數組函數

2010-07-16 16:56:01

Perl構造函數

2009-09-18 11:13:09

.Net CLR

2010-07-26 14:06:43

Perl substr

2010-07-19 14:37:01

Perl進程啟動函數

2010-07-20 09:23:30

Perl構造函數

2010-07-20 11:37:00

Perl函數返回值

2010-07-16 17:04:38

Perl方法

2010-07-21 14:18:27

Perl函數

2010-07-15 13:50:16

Perl目錄操作函數

2010-07-15 14:25:06

Perl時間函數

2010-07-16 16:23:23

Perl文件系統

2010-07-19 16:03:12

Perl變量類型
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩欧美国产一区二区 | 久久com| 一区二区日韩 | 二区av| 国产美女自拍视频 | 天天av天天好逼 | 久久99蜜桃综合影院免费观看 | 免费精品在线视频 | 亚洲高清网| h视频在线免费 | 国产在线精品一区二区三区 | 国产精品伦理一区二区三区 | 色爱综合网 | 日韩中文字幕网 | 欧美日韩在线一区二区三区 | 日本理论片好看理论片 | 亚洲国产精品久久久久秋霞不卡 | 福利一区视频 | 亚州精品天堂中文字幕 | 亚洲精品久久久久久久久久久 | 欧洲成人午夜免费大片 | 99re国产视频 | 亚洲欧美日韩精品久久亚洲区 | 久久精品免费观看 | 久久综合国产精品 | www四虎影视 | а天堂中文最新一区二区三区 | 男女羞羞视频免费 | 亚洲毛片在线观看 | 亚洲图片一区二区三区 | 亚洲在线视频 | 一区二区福利视频 | 久久国产精品视频 | 91在线视频在线观看 | 欧美精品一区二区在线观看 | 久久久久亚洲 | 国产片一区二区三区 | 国产精品视频久久久 | 国产精品国产精品 | 亚洲啪啪一区 | 日韩在线免费播放 |