精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Perl基礎 Perl引用和數組用法解析

開發 架構
你對Perl應用和數組的概念是否比較熟悉,這里和大家分享一下,Perl引用就是指針,可以指向變量、數組、哈希表(也叫關聯數組)甚至子程序。

本文和大家重點討論一下Perl引用和數組的概念,Perl5中的兩種Perl引用類型為硬引用和符號引用。符號引用含有變量的名字,它對運行時創建變量名并定位很有用,基本上,符號Perl引用就象文件名或UNIX系統中的軟鏈接。而硬Perl引用則象文件系統中的硬鏈接。

Perl學習筆記

一、Perl引用簡介

Perl引用就是指針,可以指向變量、數組、哈希表(也叫關聯數組)甚至子程序。Pascal或C程序員應該對Perl引用(即指針)的概念很熟悉,Perl引用就是某值的地址,對其的使用則取決于程序員和語言的規定。在Perl中,可以把Perl引用稱為指針,二者是通用的,無差別的。Perl引用在創建復雜數據方面十分有用。
Perl5中的兩種Perl引用類型為硬引用和符號引用。符號引用含有變量的名字,它對運行時創建變量名并定位很有用,基本上,符號Perl引用就象文件名或UNIX系統中的軟鏈接。而硬Perl引用則象文件系統中的硬鏈接。

Perl4只允許符號Perl引用,給使用造成一些困難。例如,只允許通過名字對包的符號名哈希表(名為_main{})建立索引。Perl5則允許數據的硬Perl引用,方便多了。
硬Perl引用跟蹤Perl引用的計數,當其數為零時,Perl自動將被Perl引用的項目釋放,如果該項目是對象,則析構釋放到內存池中。Perl本身就是個面向對象的語言,因為Perl中的任何東西都是對象,包和模塊使得對象更易于使用。
簡單變量的硬Perl引用很簡單,對于非簡單變量的Perl引用,你必須顯式地解除Perl引用并告訴其應如何做,詳見《第章Perl中的面向對象編程》。

二、使用Perl引用

本章中,簡單變量指像$pointer這樣的變量,$pointer僅含一個數據項,其可以為數字、字符串或地址。
任何簡單變量均可保存硬Perl引用。因為數組和哈希表含有多個簡單變量,所以可以建立多種組合而成的復雜的數據結構,如數組的數組、哈希表的數組、子程序的哈希表等等。只要你理解其實只是在用簡單變量在工作,就應該可以正確的在最復雜的結構中正確地解除Perl引用。

首先來看一些基本要點。

如果$pointer的值為一個數組的指針,則通過形式@$pointer來訪問數組中的元素。形式@$pointer的意義為“取出$pointer中的地址值當作數組使用”。類似的,%$pointer為指向哈希表中***個元素的Perl引用。
有多種構建Perl引用的方法,幾乎可以對任何數據建立Perl引用,如數組、簡單變量、子程序、文件句柄,以及--C程序員會感興趣的--Perl引用。Perl使你有能力寫出把自己都搞糊涂的極其復雜的代碼。:)
下面看看Perl中創建和使用Perl引用的方法。

三、使用反斜線(\)操作符

反斜線操作符與C語言中傳遞地址的操作符&功能類似。一般是用\創建變量又一個新的Perl引用。下面為創建簡單變量的Perl引用的例子:
 

  1. $variavle=22;  
  2. $pointer=\$variable;  
  3. $ice="jello";  
  4. $iceprt=\$ice;  

Perl引用$pointer指向存有$variable值的位置,Perl引用$iceptr指向"jello"。即使最初的Perl引用$variable銷毀了,仍然可以通過$pointer訪問該值,這是一個硬Perl引用,所以必須同時銷毀$pointer和$variable以便該空間釋放到內存池中。
在上面的例子中,Perl引用變量$pointer存的是$variable的地址,而不是值本身,要獲得值,形式為兩個$符號,如下:
 

  1. #!/usr/bin/Perl  
  2. $value=10;  
  3. $pointer=\$value;  
  4. printf"\nPointerAddress$pointerof$value\n";  
  5. printf"\nWhatPointer*($pointer)pointsto$$pointer\n";  

結果輸出如下:

PointerAddressSCALAR(0x806c520)of10
WhatPointer*(SCALAR(0x806c520))pointsto10
每次運行,輸出結果中的地址會有所改變,但可以看到$pointer給出地址,而$$pointer給出$variable的值。
看一下地址的顯示,SCALAR后面一串十六進制,SCALAR說明該地址指向簡單變量(即標量),后面的數字是實際存貯值的地址。
注意:指針就是地址,通過指針可以訪問該地址處存貯的數據。如果指針指向了無效的地址,就會得到不正確的數據。通常情況下,Perl會返回NULL值,但不該依賴于此,一定要在程序中把所有的指針正確地初始化,指向有效的數據項。#p#

四、Perl引用和數組

關于Perl語言應該記住的最重要的一點可能是:Perl中的數組和哈希表始終是一維的。因此,數組和哈希表只保存標量值,不直接存貯數組或其它的復雜數據結構。數組的成員要么是數(或字符串)要么是Perl引用。
對數組和哈希表可以象對簡單變量一樣使用反斜線操作符,數組的Perl引用如下:

  1. 1#!/usr/bin/Perl  
  2. 2#  
  3. 3#UsingArrayreferences  
  4. 4#  
  5. 5$pointer=\@ARGV;  
  6. 6printf"\nPointerAddressofARGV=$pointer\n";  
  7. 7$i=scalar(@$pointer);  
  8. 8printf"\nNumberofarguments:$i\n";  
  9. 9$i=0;  
  10. 10foreach(@$pointer){  
  11. 11printf"$i:$$pointer[$i++];\n";  
  12. 12}  

運行結果如下:
 

  1. $test1234  
  2. PointerAddressofARGV=ARRAY(0x806c378)  
  3. Numberofarguments:4  
  4. 0:1;  
  5. 1:2;  
  6. 2:3;  

3:4;第5行將Perl引用$pointer指向數組@ARGV,第6行輸出ARGV的地址。$pointer返回數組***個元素的地址,這與C語言中的數組指針是類似的。第7行調用函數scalar()獲得數組的元素個數,該參數亦可為@ARGV,但用指針則必須用@$pointer的形式指定其類型為數組,$pointer給出地址,@符號說明傳遞的地址為數組的***個元素的地址。第10行與第7行類似,第11行用形式$$pointer[$i]列出所有元素。
對關聯數組使用反斜線操作符的方法是一樣的--把所有關聯數組名換成Perl引用$poniter。注意數組和簡單變量(標量)的Perl引用顯示時均帶有類型--ARRAY和SCALAR,哈希表(關聯數組)和函數也一樣,分別為HASH和CODE。
與數組類似,通過Perl引用訪問哈希表的元素形式為$$pointer{$index},當然,$index是哈希表的鍵值,而不僅是數字。還有幾種訪問形式,此外,構建哈希表還可以用=>操作符,可讀性更好些。

五、多維數組

語句@array=list;可以創建數組的Perl引用,中括號可以創建匿名數組的Perl引用。下面語句為用于畫圖的三維數組的例子:
$line=['solid','black',['1','2','3'],['4','5','6']];
此語句建立了一個含四個元素的三維數組,變量$line指向該數組。前兩個元素是標量,存貯線條的類型和顏色,后兩個元素是匿名數組的Perl引用,存貯線條的起點和終點。訪問其元素語法如下:

$arrayReference->[$index]single-dimensionalarray
$arrayReference->[$index1][$index2]two-dimensionalarray
$arrayReference->[$index1][$index2][$index3]three-dimensionalarray
可以創建在你的智力、設計經驗和計算機的內存允許的情況下極盡復雜的結構,但***對可能讀到或管理你的代碼的人友好一些--盡量使代碼簡單些。另一方面,如果你想向別人炫耀你的編程能力,Perl給你足夠的機會和能力編寫連自己都難免糊涂的代碼。:)
建議:當你想使用多于三維的數組時,***考慮使用其它數據結構來簡化代碼。


六、子程序的Perl引用

Perl中子程序的Perl引用與C中函數的指針類似,構造方法如下:
$pointer_to_sub=sub{...declarationofsub...};
通過所構造的Perl引用調用子程序的方法為:
&$pointer_to_sub(parameters);

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/njuxukai/archive/2009/08/27/4487084.aspx

【編輯推薦】

  1. 詳解Perl引用/指針用法
  2. 解析Perl引用中Perl直接應用用法
  3. 暢談Perl數組的使用技巧
  4. Perl變量中Perl數組概念詳解
  5. 技術分享 解析Perl模塊創建和導入方法
責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-19 09:52:04

Perl標量

2010-07-20 15:02:20

Perl數組

2010-07-16 13:45:41

Perl引用

2010-07-13 16:40:41

Perl引用

2010-07-20 13:53:44

Perl引用

2010-07-20 15:36:58

Perl語法

2010-07-16 16:40:48

Perl引用

2010-07-13 13:49:43

Perl foreac

2010-07-16 10:44:54

Perl數組

2010-07-13 09:58:51

Perl關聯數組

2010-07-13 14:26:11

Perl數組

2010-07-19 16:25:06

Perl數組

2010-07-14 15:32:21

Perl轉義字符

2010-07-16 13:10:36

Perl哈希表

2010-07-20 09:45:04

Perl繼承

2010-07-19 14:13:41

Perl函數

2010-07-16 16:56:01

Perl構造函數

2010-07-16 08:47:53

Perl if語句

2010-07-15 10:22:23

Perl控制結構

2010-07-19 13:49:17

Perl函數
點贊
收藏

51CTO技術棧公眾號

欧美不卡1区2区3区| 91国内免费在线视频| 五月天婷婷在线观看视频| 中文字幕在线观看播放| av中文一区二区三区| 国产成人精品一区二区| 亚洲欧美一区二区三区四区五区| 红杏视频成人| 欧美日韩在线亚洲一区蜜芽| 久久这里只有精品18| 高清中文字幕一区二区三区| 国产精品亚洲а∨天堂免在线| 国模精品系列视频| 中文字幕乱码av| 欧美大胆a级| 欧美一区二区三区思思人| 99热自拍偷拍| 亚洲丝袜一区| 中文字幕不卡在线观看| 国产一区再线| av男人天堂网| 美女视频一区在线观看| 91高清视频在线免费观看| 色哟哟一一国产精品| 日韩激情毛片| 日韩午夜精品电影| 久久国产精品国产精品| 在线中文字幕播放| 亚洲一线二线三线久久久| 在线码字幕一区| 成人在线视频成人| 2022国产精品视频| 国产精品美女诱惑| av中文字幕第一页| 美女一区二区视频| 国产精品青青在线观看爽香蕉| 国产精品theporn动漫| 91九色精品| 色久欧美在线视频观看| 波多野结衣一二三四区| 天堂一区二区三区四区| 亚洲黄色免费三级| av电影在线播放| 亚洲精品在线播放| 日韩精品一区二区三区在线| 在线观看av免费观看| 91成人精品观看| 欧美乱熟臀69xxxxxx| 少妇一级淫免费放| 精品欧美一区二区三区在线观看 | 人妻少妇精品一区二区三区| 日韩精品dvd| 日韩亚洲在线观看| 黄色a级片在线观看| 亚洲女同一区| 欧美激情2020午夜免费观看| 免费中文字幕在线观看| 国产一区日韩一区| 久久男人资源视频| av资源免费观看| 久久福利一区| 国产精品爱啪在线线免费观看| 国产一卡二卡三卡| 久久99精品久久久久久动态图 | 91成品人影院| 国产最新精品精品你懂的| 91久久久精品| 高清一区二区三区四区| 91最新地址在线播放| 日本不卡在线播放| 黄色一级大片在线免费看产| 一区二区三区在线影院| 久激情内射婷内射蜜桃| 乡村艳史在线观看| 欧美性感一区二区三区| 亚洲色图欧美自拍| 粉嫩av一区二区| 亚洲全黄一级网站| 免费精品在线视频| 黄色在线成人| 国产成一区二区| 国产毛片毛片毛片毛片| 国产99久久久国产精品| 欧美第一黄网| 成人短视频在线观看| 亚洲成人一区在线| 天天干天天操天天做| 综合中文字幕| 一区二区三区亚洲| 久久久久久久黄色| 青娱乐精品视频| av在线不卡观看| 国产精品99999| 一个色综合av| 99免费视频观看| 亚洲高清在线一区| 亚洲视频欧洲视频| 青青草成人免费| 日韩av二区在线播放| av资源一区二区| av网在线观看| 精品日本高清在线播放| 亚洲黄色av片| 亚洲区小说区图片区qvod| 欧美成人激情在线| 国产污视频网站| 成人国产一区二区三区精品| 亚洲精品国产精品国自产| 美女91在线| 在线播放亚洲一区| 中文字幕一区二区三区人妻不卡| 亚洲女同另类| 国产精品无码专区在线观看| 香蕉国产在线视频| 亚洲日本韩国一区| 日本xxxxxxx免费视频| 91精品丝袜国产高跟在线| 色青青草原桃花久久综合| 久久久久久久极品| 大桥未久av一区二区三区中文| 亚洲日本欧美在线| 欧美7777| 日韩高清欧美高清| 国产无遮挡aaa片爽爽| 九色综合国产一区二区三区| 日本一区二区三区免费观看| 成年人在线网站| 日韩视频一区二区| 亚洲一二三在线观看| 美洲天堂一区二卡三卡四卡视频| 开心色怡人综合网站| 欧美人与性动交α欧美精品图片| 666欧美在线视频| 长河落日免费高清观看| 秋霞国产午夜精品免费视频| 欧美一卡2卡3卡4卡无卡免费观看水多多| 第四色日韩影片| 日韩一级大片在线观看| 精品无码一区二区三区蜜臀| 麻豆91在线播放免费| 亚洲精品在线免费看| 日韩三区免费| 一区二区三欧美| 中文字幕日韩国产| 中文字幕在线一区免费| 亚洲一区精品视频在线观看| 日韩激情免费| 国产自摸综合网| 免费看美女视频在线网站| 欧美女孩性生活视频| 破处女黄色一级片| 国产99久久久国产精品免费看| 日韩精品久久一区二区| 51精品国产| 97婷婷涩涩精品一区| 亚洲色偷精品一区二区三区| 欧美视频二区36p| 黑人巨大精品欧美| 日韩avvvv在线播放| 午夜精品一区二区在线观看| 欧美爱爱视频| 欧美国产精品日韩| 香蕉视频免费在线看| 日韩欧美一区二区三区久久| 亚洲av综合一区二区| 蜜臀久久99精品久久久久宅男| 在线国产精品网| 白嫩白嫩国产精品| 欧日韩在线观看| 高清美女视频一区| 91精品国产综合久久福利软件| 九九热精品免费视频| 91啦中文在线观看| 欧美午夜aaaaaa免费视频| 一区二区三区网站| 精品蜜桃一区二区三区| 51一区二区三区| 欧美成人黄色小视频| 欧美精品a∨在线观看不卡 | 欧美一区电影| 99在线观看| 免费高清视频在线一区| 欧美成人精品xxx| 欧美黄色小说| 日韩欧美综合一区| 无码人妻一区二区三区线| 亚洲欧美另类小说| 91网站免费视频| 国产精品影音先锋| 日韩福利视频在线| 亚洲图片在线| 亚洲欧洲一二三| 日本久久成人网| 91九色视频在线| 成人免费短视频| 美女久久久久久久| 韩国三级在线观看久| 日韩欧美第一区| www.亚洲激情| 亚洲v精品v日韩v欧美v专区| 超碰人人人人人人人| 成人高清免费观看| 欧美特黄aaa| 久久一综合视频| 久久久久久人妻一区二区三区| 日韩欧美一区二区三区免费看| 国产一区再线| 亚洲国产精品免费视频| 国产精品九九九| 中文字幕在线视频网站| 欧美激情区在线播放| 欧美精品电影| 国产一区二区三区18| 五月婷婷伊人网| 日韩欧美二区三区| 国产绳艺sm调教室论坛| 欧美午夜宅男影院| www.国产com| 天天综合天天综合色| 激情综合五月网| 亚洲日本在线a| 美女网站视频色| 国产欧美视频一区二区| 亚洲专区区免费| 成人av午夜电影| 少妇熟女视频一区二区三区| 精品亚洲免费视频| 亚欧激情乱码久久久久久久久| 久久久久免费| 亚洲 高清 成人 动漫| 精品白丝av| 欧美图片激情小说| 韩日成人在线| 97在线国产视频| 黄色成人91| 国产av熟女一区二区三区| 91精品91| 国产一二三四区在线观看| 国产精品88久久久久久| 亚洲一区二区三区免费观看| 日本久久综合| 日韩在线观看电影完整版高清免费| 久久久久久毛片免费看| 精品国产中文字幕| 秋霞影视一区二区三区| 国产在线一区二区三区欧美| 九九热hot精品视频在线播放| 成人精品水蜜桃| 豆花视频一区二区| 久久国产精品高清| 亚洲肉体裸体xxxx137| 蜜桃麻豆www久久国产精品| 要久久爱电视剧全集完整观看| 欧美日韩亚洲在线| 精品国产一区二区三区香蕉沈先生 | av综合网站| 精品一区二区三区自拍图片区| 美女主播精品视频一二三四| 久久青青草综合| av伊人久久| 艳母动漫在线免费观看| 欧美日韩一区二区三区四区在线观看 | 黄色美女网站在线观看| 尤物99国产成人精品视频| 欧美边添边摸边做边爱免费| 久热精品视频在线观看一区| 青草av在线| 国产91成人在在线播放| 3d欧美精品动漫xxxx无尽| 91精品国产综合久久香蕉| 亚洲高清999| 日本精品二区| 一本一道久久a久久精品蜜桃| 丁香色欲久久久久久综合网| 国产农村妇女精品一二区| 国产精品一区二区羞羞答答| 国产真实精品久久二三区| 亚洲精品无码一区二区| 久久久久久久久一| 看黄色录像一级片| 性做久久久久久免费观看| 自拍偷拍福利视频| 日韩精品中午字幕| 韩日在线视频| 久久99精品视频一区97| 成人欧美大片| 成人av中文| 日韩电影二区| 国产精品50p| 国产一区二区三区视频在线播放| 亚洲激情 欧美| 成人免费在线视频观看| www亚洲视频| 精品国产乱码久久久久久免费| 麻豆av电影在线观看| 欧美日韩福利电影| 日韩成人亚洲| 精品欧美一区二区久久久伦| 久久久久久久久久久久久久| 99精品视频在线看| 国产精品88888| 纪美影视在线观看电视版使用方法| 亚洲激情第一区| 这里只有精品9| 日韩精品视频观看| 丁香花在线高清完整版视频| 91精品久久久久久久久久久久久| 黄色欧美网站| avove在线观看| 日本成人在线电影网| yy1111111| 亚洲精品国产高清久久伦理二区| 亚洲中文字幕无码爆乳av | 亚洲av人人澡人人爽人人夜夜| 国产精品久久久久久久久晋中 | 久久爱一区二区| 91成人免费电影| 天堂在线一二区| 国内免费久久久久久久久久久 | 麻豆国产91在线播放| 性久久久久久久久久| 亚洲综合成人在线| 国产免费不卡视频| www国产精品com| 国内欧美日韩| 亚洲免费不卡| 麻豆精品视频在线观看| 西西444www无码大胆| 欧美视频在线视频| 婷婷亚洲一区二区三区| 性欧美在线看片a免费观看| 亚洲视频一起| 国产在线视频在线| 成人综合婷婷国产精品久久蜜臀| 日韩欧美123区| 欧美一区日韩一区| 国产cdts系列另类在线观看| 成人免费在线网址| 91精品99| 成人欧美精品一区二区| 亚洲一区在线电影| 高潮毛片7777777毛片| 97在线精品视频| 少妇高潮一区二区三区| 久久久久久久久久久免费视频| av在线不卡免费看| www.国产高清| 亚洲视频自拍偷拍| 欧洲av不卡| 亚洲免费久久| 国产精品996| 日韩大片免费在线观看| 亚洲黄页网在线观看| 日本在线啊啊| 日韩高清av| 国产综合成人久久大片91| 免费一级a毛片夜夜看| 亚洲电影av在线| 成人欧美大片| 一区二区日本伦理| 国产精品99久久久久久宅男| 久久午夜无码鲁丝片| 日韩精品在线免费观看视频| 国产日韩电影| 亚洲视频小说| 国产成人av电影在线观看| 日韩精品一区二区三| 亚洲欧美制服丝袜| 狂野欧美性猛交xxxx| 久久久99精品视频| 久久夜色精品一区| 一级特黄录像免费看| 色综合久久悠悠| 亚洲ab电影| 男人午夜视频在线观看| 亚洲成人精品影院| www 日韩| 国产精品12| 奇米影视7777精品一区二区| 亚洲熟女www一区二区三区| 日韩精品高清在线| 四虎精品在线观看| 鲁一鲁一鲁一鲁一色| 国产精品久久久久久亚洲伦 | 男操女视频网站| 欧美大胆a视频| 亚洲精品国产精品粉嫩| 亚洲综合123| 色狠狠av一区二区三区| 成人午夜在线影视| 日本一区视频在线观看| 国产成人免费视频一区| 波多野结衣日韩| 欧美激情亚洲视频| 久久亚洲国产| 魔女鞋交玉足榨精调教| 日韩欧美电影在线| 免费一区二区三区四区| 国产亚洲欧美在线视频| 亚洲免费三区一区二区|