青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

統(tǒng)計(jì)

  • 隨筆 - 50
  • 文章 - 42
  • 評(píng)論 - 147
  • 引用 - 0

留言簿(6)

隨筆分類

文章分類

Link

搜索

  •  

積分與排名

  • 積分 - 166566
  • 排名 - 159

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

如何理解Perl語(yǔ)言中的Glob

 

本文假設(shè)你對(duì)Perl引用已經(jīng)有所了解。

關(guān)于Perl glob,筆者建議閱讀《Advanced Perl Programming》第一版的第三章和第二版的第一章。本文是筆者經(jīng)過(guò)閱讀以上內(nèi)容并經(jīng)過(guò)一些實(shí)踐后完成的。

我們都知道Perl的引用類似C語(yǔ)言的指針。

C指針:
int a = 1;
int* pa;
pa = &a;
Perl引用:
my $a = 3;
my $ra = \$a;

引用都可以簡(jiǎn)單地看成是存儲(chǔ)了變量的地址:

$a $ra
3 變量$a的地址

在各種語(yǔ)言里,都有符號(hào)表(Symbol Table)的概念。符號(hào)表存儲(chǔ)著各種作用域里的符號(hào)(Symbol)。這里說(shuō)的Symbol是指我們編程時(shí)用到的各種名稱,包括變量名、函數(shù)名等。比如上面的“a”、“pa”、“ra”等都是symbol??聪旅娴拇a:

my $a = "sdd";
my $b = 34;
my @b = (2,3);
my %b = (name => 'me', age => 28);
sub b {
print "hello\n";
}

產(chǎn)生的符號(hào)表:

... ...
symbol a 變量$a的地址
... ...
symbol b $b的地址 @b的地址 %b的地址 函數(shù)b的地址
... ...

可以看到symbol b里存放了好幾個(gè)變量和函數(shù)的引用。在Perl里,symbol也可以被叫做glob。symbol b和symbal a可以分別用*b和*a表示。

glob的一個(gè)基本應(yīng)用是alias(別名):

$a = 10;
*b = *a;
print $b . "\n";
$b = 20;
print $a . "\n";

運(yùn)行結(jié)果:

10
20

符號(hào)表:

... ...
*a \$a
... ...
*b \$a
... ...

通過(guò)將引用賦給glob可以實(shí)現(xiàn)部分別名:

$a = 6;
@a = (1,2);
@b = (5,6);
print $a . "\n";
*b = \$a;
$b = 7;
print $a . "\n";

輸出:

6
7

符號(hào)表:

... ...
*a \$a \@a
... ...
*b \$a \@b
... ...

可以看到,只是標(biāo)量一樣了,數(shù)組還是各自的。

還可以用于參數(shù)傳遞:

sub change {
*b = shift;
$b = "cc";
}
$a = "tt";
print $a . "\n";
change(*a);
print $a . "\n";

運(yùn)行結(jié)果:

tt
cc

據(jù)說(shuō)通過(guò)glob傳遞參數(shù)要比傳引用快很多。

不同的作用域有不同的符號(hào)表:函數(shù)擁有自己的符號(hào)表,各個(gè)包也有自己的符號(hào)表。注意!詞法變量(lexical variable,用my關(guān)鍵字聲明的變量)不收入符號(hào)表。同時(shí),也不能用my關(guān)鍵字來(lái)聲明glob。my關(guān)鍵字只用來(lái)聲明詞法變量,glob不是詞法變量。

《Advance Perl Programming》第二版里說(shuō):可以把glob看成一個(gè)很有限的hash,他只有幾個(gè)key:SCALAR、ARRAY、HASH, IO, CODE, FORMAT和GLOB(筆者注:保存GLOB引用),另外還有兩個(gè)key:PACKAGE和NAME(筆者注:僅做自省用)。比如一個(gè)glob:a,*a{SCALAR}就相當(dāng)于\$a,*a{HASH}就相當(dāng)于\%a等等。

$a = 234;
print $a . "\n";
${*a{SCALAR}} = 345;
print $a . "\n";

輸出:

234
345

GLOB是Perl中幾個(gè)比較難的概念之一。在Perl的核心庫(kù)里,處處用到各種高深的glob技術(shù)。比如Exporter、AUTOLOAD、CORE等。雖然一般編程不需要用到特別深入的技術(shù)。如果能多了解一些,對(duì)于我們編程還是會(huì)大有益處的。 

posted on 2009-05-19 15:04 pear_li 閱讀(1129) 評(píng)論(0)  編輯 收藏 引用


只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲精品一级| 亚洲无限av看| 亚洲精品久久在线| 亚洲专区欧美专区| 欧美日韩不卡视频| 日韩视频在线一区| 亚洲高清自拍| 乱中年女人伦av一区二区| 国产综合视频在线观看| 欧美在线视频导航| 亚洲字幕一区二区| 国产乱码精品| 亚洲欧美另类国产| 亚洲图片欧洲图片av| 欧美日韩一区在线视频| 亚洲精品在线电影| 亚洲国产成人av| 欧美成人dvd在线视频| 在线观看av不卡| 久久精品综合一区| 久久久久久久久综合| 国产欧美日韩一区二区三区在线| 美女精品在线观看| 欧美色中文字幕| 亚洲性感激情| 亚洲人成网在线播放| 午夜电影亚洲| 国产综合色产| 亚洲国产精品美女| 欧美激情导航| 久久久之久亚州精品露出| 国产精品一区二区女厕厕| 久久久午夜精品| 91久久精品国产91久久| 免费高清在线一区| 欧美a级片网站| 亚洲高清视频在线| 亚洲最新视频在线| 国产精品爱啪在线线免费观看 | 亚洲看片免费| 久久精品九九| 欧美日韩成人激情| 99视频精品| 亚洲欧美国产三级| 黄色成人小视频| 亚洲欧美综合国产精品一区| 欧美永久精品| 亚洲电影免费| 日韩亚洲欧美一区| 欧美日韩精品是欧美日韩精品| 亚洲午夜一区二区| 亚洲自拍偷拍福利| 国产一级一区二区| 蜜臀av一级做a爰片久久| 免费在线亚洲| 在线播放精品| 亚洲精品免费观看| 伊人激情综合| 亚洲黄色一区| 国产视频观看一区| 久久久久在线| 欧美屁股在线| 欧美一级视频| 欧美精品v日韩精品v国产精品| 亚洲图片你懂的| 一个色综合av| 国内精品美女av在线播放| 欧美精品福利| 欧美亚洲网站| 美女日韩欧美| 性欧美1819sex性高清| 欧美sm重口味系列视频在线观看| 亚洲一区二区黄色| 欧美国产日本在线| 欧美一区影院| 夜夜嗨av一区二区三区网站四季av| 亚洲一区二区三区在线| 亚洲欧美大片| 国产一区二区三区在线观看免费 | 欧美成人午夜激情| 久久五月天婷婷| 久久久最新网址| 红桃视频国产精品| 欧美成人精品| 亚洲午夜免费福利视频| 久久av红桃一区二区小说| 国产午夜精品理论片a级探花 | 亚洲免费网址| 久久久国产精品亚洲一区| 欧美日韩视频专区在线播放 | 国产精品久久久久久久浪潮网站| 欧美精品一区在线播放| 亚洲欧美日韩一区在线观看| 欧美大片在线观看| 开心色5月久久精品| 久久久国产精品一区二区三区| 欧美电影免费观看高清| 免费在线欧美视频| 国产精品一区免费视频| 麻豆精品在线视频| 在线观看视频一区二区| 亚洲欧美日韩一区在线观看| 亚洲欧美一区二区三区极速播放| 欧美www在线| 亚洲久色影视| 亚洲毛片在线免费观看| 欧美日韩一区二区在线播放| 亚洲国产91色在线| 日韩视频一区二区三区在线播放免费观看| 久久精品国产精品亚洲| 久久狠狠久久综合桃花| 一区二区三区在线免费视频 | 久久蜜臀精品av| 欧美成人综合一区| 国语自产精品视频在线看8查询8| 久久久噜噜噜| 麻豆精品在线视频| 在线亚洲激情| 欧美午夜激情视频| 亚洲一级免费视频| 午夜精品电影| 国产欧美精品一区二区三区介绍| 亚洲一区欧美激情| 欧美一区二区三区视频在线观看 | 亚洲一区免费网站| 99视频有精品| 亚洲尤物视频在线| 欧美一区二视频| 美女任你摸久久| 欧美精品电影| 精品成人一区| 麻豆91精品| 一区在线观看| 美女被久久久| 亚洲国产精品久久| 91久久线看在观草草青青| 欧美少妇一区| 亚洲男人第一av网站| 久久夜色精品国产亚洲aⅴ | 国产精品剧情在线亚洲| 一区二区三区免费观看| 欧美一区二区网站| 在线看视频不卡| 亚洲欧美在线磁力| 亚洲人体1000| 91久久久亚洲精品| 韩国成人福利片在线播放| 噜噜噜躁狠狠躁狠狠精品视频 | 久久精品亚洲精品国产欧美kt∨| 亚洲日韩欧美视频一区| 欧美日韩视频免费播放| 麻豆av一区二区三区| 99热这里只有精品8| 欧美成人久久| 午夜精品一区二区在线观看| 亚洲免费成人av电影| 国产精品一二三四| 欧美视频官网| 久久永久免费| 久久久久九九视频| 欧美一级专区免费大片| 欲色影视综合吧| 国产婷婷色综合av蜜臀av | 欧美成人午夜激情| 久久久精品国产免大香伊| 99精品欧美一区| 欧美激情第3页| 久久精品国产99精品国产亚洲性色| 亚洲自拍16p| 亚洲精品一二| 亚洲精品国偷自产在线99热| 国产欧美午夜| 老司机精品视频一区二区三区| 久久久精品2019中文字幕神马| 一区二区三区免费网站| 国产精品99久久不卡二区| 亚洲电影在线看| 最新日韩在线| 欧美粗暴jizz性欧美20| 欧美1区2区| 久久精品综合| 久久精品最新地址| 亚洲激情视频网站| 亚洲视频免费| 亚洲国产精品综合| 中文欧美字幕免费| 伊人成人开心激情综合网| 亚洲美女区一区| 亚洲一区欧美一区| 欧美破处大片在线视频| 欧美一区三区三区高中清蜜桃| 久久亚洲二区| 欧美 日韩 国产一区二区在线视频 | 亚洲三级毛片| 国产主播一区二区三区| 国产视频自拍一区| 国产精品免费小视频| 国产伪娘ts一区| 久久亚洲欧美国产精品乐播| 中文一区二区|