精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

精品中文字幕av| 亚洲一区亚洲二区| 国精产品视频一二二区| 57pao成人永久免费| 亚洲一区二区视频| 欧美性大战久久久久| 一区二区小视频| 欧美激情 亚洲a∨综合| 亚洲天堂免费视频| 婷婷激情综合五月天| 欧美sm一区| 亚洲欧美日本在线| 欧美黑人3p| 国产不卡精品视频| 日日摸夜夜添夜夜添国产精品| 久久精品人人做人人爽| 一级特黄a大片免费| 国产韩日精品| 亚洲mv在线观看| 中日韩在线视频| 欧美91精品久久久久国产性生爱| 国内精品视频666| 青青久久aⅴ北条麻妃| 青青草原在线免费观看| 国产一区二区三区不卡视频网站| 日韩一区二区三区电影| 男人女人黄一级| 91超碰在线播放| 亚洲欧美国产高清| 午夜精品美女久久久久av福利| www.国产.com| 久久国产成人午夜av影院| 国产91精品久| 国产亚洲精品成人| 中国精品18videos性欧美| 一区二区欧美久久| 亚洲天堂成人av| 国产厕拍一区| 日韩欧美高清一区| 午夜xxxxx| 一区在线不卡| 欧美电影影音先锋| 亚洲一级片网站| 97精品国产综合久久久动漫日韩| 精品久久久久久国产| 全黄性性激高免费视频| 91黄色在线| 亚洲欧美另类久久久精品| 亚洲啪啪av| 国产69精品久久app免费版| 久久夜色精品一区| 农村寡妇一区二区三区| 视频国产一区二区三区| 色诱色偷偷久久综合| 婷婷激情综合网| 欧美大黑帍在线播放| 永久免费网站在线| 一区二区三区在线免费| 日本精品福利视频| 丁香花在线电影| 香蕉成人伊视频在线观看| 久艹在线免费观看| 国产社区精品视频| 欧美性高潮在线| 欧洲av无码放荡人妇网站| 亚洲女色av| 欧美性猛片aaaaaaa做受| 啊啊啊国产视频| 久久福利在线| 欧美一级一级性生活免费录像| 99999精品| 爱爱精品视频| 日韩精品欧美激情| 蜜臀久久99精品久久久久久| 日韩精品中文字幕第1页| 色爱精品视频一区| 欧美又粗又大又长| 一本色道久久综合亚洲精品高清 | 97中文字幕在线观看| 天堂久久av| 亚洲黄色成人网| 国产jk精品白丝av在线观看| 久久精品99久久无色码中文字幕| 久久久91精品国产| 亚洲国产综合久久| 可以免费看不卡的av网站| 国产日韩精品在线| 亚洲精品一级片| 久久先锋影音av鲁色资源网| 伊人久久av导航| 爱啪视频在线观看视频免费| 色av一区二区| 国产5g成人5g天天爽| 欧美美女在线直播| 日韩日本欧美亚洲| 国产午夜在线播放| 美国av一区二区| av成人在线电影| 国产天堂素人系列在线视频| 亚洲摸摸操操av| 欧美牲交a欧美牲交aⅴ免费真 | 91久久精品国产91久久性色tv| 欧美特级特黄aaaaaa在线看| 久久久久国产免费免费| 亚洲小视频在线播放| 深夜福利视频一区二区| 欧美老肥妇做.爰bbww| 中文字幕在线播放视频| 日韩理论电影| 日韩av123| 精品国精品国产自在久不卡| 久久久久久久久久看片| 免费的一级黄色片| 亚洲综合av一区二区三区| 欧美成人精品1314www| 精品无码人妻一区二区免费蜜桃| 欧美一区二区三区久久精品| 国产精品成人品| 天天摸天天干天天操| 国产精品素人一区二区| 国产aaa一级片| 伊色综合久久之综合久久| 色悠悠久久88| 国产一级片免费在线观看| 成人高清视频免费观看| 亚洲av综合色区| 国产精品亚洲d| 日韩电影第一页| 久久免费视频99| 国产综合色在线视频区| 亚洲mv在线看| 欧美性猛交xxx高清大费中文| 欧美大片在线观看一区二区| 最新av电影网站| 免费成人性网站| 日韩一区二区三区高清| 日本综合字幕| 亚洲欧美一区二区三区四区| 日韩免费黄色片| 成人动漫视频在线| 久久艹国产精品| 亚洲精品v亚洲精品v日韩精品| 精品国产网站地址| 一级视频在线播放| 中文字幕一区在线| 日韩欧美国产片| 日韩在线高清| 成人精品网站在线观看| 免费观看在线午夜影视| 欧美日韩午夜在线视频| 日本成人免费在线观看| 麻豆视频一区二区| 亚洲一区二区精品在线| 日韩一级视频| 久久久精品国产一区二区| 欧美激情一区二区三区免费观看 | 免费在线观看日韩欧美| 先锋影音一区二区三区| 99re久久| 精品国产一区二区三区久久久| 国产精品一二三四五区| 亚洲精品一二三区| 三大队在线观看| 亚洲国产精品一区制服丝袜| 精品乱子伦一区二区三区| 乱馆动漫1~6集在线观看| 亚洲乱码国产乱码精品精天堂| 欧美日韩一级黄色片| 国产午夜久久久久| 自拍偷拍21p| 中文精品久久| 国产免费一区二区三区| 综合毛片免费视频| 色综合亚洲精品激情狠狠| 国产偷人妻精品一区二区在线| 一区二区三区高清在线| 国产成人精品无码片区在线| 久久精品午夜| 中文字幕一区二区三区在线乱码| 欧美电影在线观看一区| 国内偷自视频区视频综合| 日本大片在线观看| 欧美日韩亚洲综合| 久久久久久蜜桃| 久久先锋资源网| 一区二区三区国产好的精华液| 精品成人久久| 神马影院我不卡| 日韩高清在线观看一区二区| 91精品国产免费久久久久久| 国产福利免费在线观看| 日韩亚洲欧美一区二区三区| 国产午夜性春猛交ⅹxxx| 国产精品欧美经典| 亚洲色偷偷色噜噜狠狠99网| 久久先锋影音| 精品国产一区二区三区无码| 国产一区二区三区探花| 成人看片在线| julia一区二区三区中文字幕| 欧美激情乱人伦一区| 成人网视频在线观看| 精品国产电影一区二区| 在线观看毛片网站| 午夜精品在线看| 可以免费看av的网址| 99国产精品久久| 国产欧美精品一二三| 美女黄色成人网| 中文字幕日韩精品无码内射| 精品色999| 国产综合第一页| 97精品资源在线观看| 韩国一区二区电影| 里番在线观看网站| 亚洲女人被黑人巨大进入| 亚洲黄色在线播放| 欧美老女人第四色| 日韩精品在线一区二区三区| 亚洲成人午夜电影| 69xx绿帽三人行| 国产精品国产精品国产专区不蜜| 毛茸茸多毛bbb毛多视频| 国产**成人网毛片九色 | 美女网站视频一区| 午夜精品一区二区三区在线 | 91av在线播放视频| 91小视频xxxx网站在线| 色妞欧美日韩在线| 精品资源在线看| 日韩av在线一区二区| www.日日夜夜| 69堂成人精品免费视频| 欧美 亚洲 另类 激情 另类| 欧美日韩一区二区精品| 日本一区二区三区免费视频| 一区二区不卡在线播放 | 国产在线视频网| 日韩大片免费观看视频播放| 色香蕉在线视频| 精品欧美乱码久久久久久| 精品人妻aV中文字幕乱码色欲| 欧美人牲a欧美精品| 中文字幕一区二区三区人妻四季| 91国在线观看| 看黄色一级大片| 91久久精品日日躁夜夜躁欧美| 欧美一区免费看| 日韩欧美一区二区三区| 亚洲熟妇无码乱子av电影| 精品日本高清在线播放| 在线天堂中文字幕| 日韩欧美亚洲综合| 国产情侣小视频| 欧美影片第一页| 亚洲在线精品视频| 在线综合+亚洲+欧美中文字幕| 国产精品久久久久久久久久久久久久久久 | 精品国产1区2区3区| 国产日韩精品在线播放| 亚洲 美腿 欧美 偷拍| 日韩av在线免费观看| 天堂成人在线| 亚洲人线精品午夜| 99re在线视频| 粗暴蹂躏中文一区二区三区| 日韩经典av| 7777免费精品视频| 色成人免费网站| 91精品国产自产在线观看永久| 国产精品成人**免费视频| 99伊人久久| 日韩中文av| 亚洲国产精品久久久久久女王| 99精品综合| 亚洲精品国产suv一区88| 999在线观看精品免费不卡网站| 成人羞羞国产免费网站| 日本少妇一区二区| 日韩欧美中文视频| 99久久精品国产精品久久| 亚洲精品一区二区三区影院忠贞| 亚洲婷婷在线视频| 亚洲精品午夜久久久久久久| 日本韩国一区二区三区视频| 国产精品久久欧美久久一区| 337p日本欧洲亚洲大胆色噜噜| 欧美一区二区少妇| 久久久999国产精品| 欧美aaaaa性bbbbb小妇| 国产专区欧美专区| 老司机精品在线| 伊甸园精品99久久久久久| 日韩图片一区| 爽爽爽在线观看| 91蜜桃视频在线| 国产黄色录像片| 色综合久久中文字幕综合网| 国产精品久久久久久免费播放| 亚洲国产精品网站| 日本最黄一级片免费在线| 97国产真实伦对白精彩视频8| 国产激情久久| 国产一区二区在线观看免费播放| 日韩中文在线电影| 香港三级韩国三级日本三级| 九色综合国产一区二区三区| 国产精品久久久免费观看| 中文字幕乱码日本亚洲一区二区| 久久久久无码国产精品| 欧美日韩在线播放一区| 天天摸夜夜添狠狠添婷婷| 美日韩丰满少妇在线观看| yw.尤物在线精品视频| 久久riav二区三区| 国产精品v一区二区三区| 182午夜在线观看| 久久日韩粉嫩一区二区三区| 欧美一级高潮片| 91麻豆精品国产91久久久资源速度| 婷婷国产在线| 欧美激情免费看| 粉嫩一区二区三区在线观看| 亚洲国产精品视频一区| 亚洲资源av| 毛茸茸free性熟hd| 一区二区免费在线播放| 97精品人妻一区二区三区香蕉| 国产亚洲精品久久久久久牛牛| 欧美少妇网站| 国产激情一区二区三区在线观看 | 最新av网址在线观看| 奇米888四色在线精品| 人妻熟女aⅴ一区二区三区汇编| 亚洲一区二区偷拍精品| 精品女同一区二区三区| 久热精品视频在线观看一区| 亚洲我射av| 宅男一区二区三区| 久久国产精品第一页| 日韩av片在线免费观看| 欧美日韩小视频| 秋霞影院午夜丰满少妇在线视频| 国产精品成人av在线| 不卡中文字幕| 国产精品久久久毛片| 欧美国产一区视频在线观看| 波多野结衣毛片| 伊是香蕉大人久久| 狠狠久久伊人中文字幕| 亚洲乱码国产乱码精品天美传媒| 蜜臀av亚洲一区中文字幕| 国产免费嫩草影院| 欧美人xxxx| 在线中文字幕电影| 国产精品久久久对白| 亚洲久久在线| 野外性满足hd| 在线视频欧美区| 免费av不卡| 国产精品xxxx| 国产精品普通话对白| 在线不卡av电影| 欧美日韩一区 二区 三区 久久精品| 2017亚洲天堂1024| 92国产精品久久久久首页| 国模大胆一区二区三区| 无码国产69精品久久久久网站| 欧美日韩亚洲视频一区| 二区三区在线| 91久久久久久| 亚洲国产高清一区| 国产肥白大熟妇bbbb视频| 欧美日韩免费视频| 色婷婷av在线| 久久大香伊蕉在人线观看热2| 老司机久久99久久精品播放免费 | 亚洲国产精品影院| 亚洲av成人无码网天堂| 国产精品盗摄久久久| 欧美福利电影在线观看| a级一a一级在线观看| 91国产免费看| 在线观看av免费| 欧美极品jizzhd欧美| 美女精品自拍一二三四| 国产又黄又爽又无遮挡| 日韩av一区二区在线观看| 日韩av黄色| 男女猛烈激情xx00免费视频| 日本一区二区三级电影在线观看| a天堂视频在线| 欧美在线精品免播放器视频| 99视频精品全国免费| 国产xxxxxxxxx| 欧美精品久久天天躁| 男女羞羞在线观看| 亚洲自拍的二区三区| av一区二区三区在线| 亚洲天堂中文在线|