麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Perl > 正文

perl引用的相關知識分享

2020-06-04 20:29:45
字體:
來源:轉載
供稿:網友

為何使用引用?

在perl4中,hash表中的value字段只能是scalar,而不能是list,這對于有些情況是很不方便的,比如有下面的數據:
Chicago, USA
Frankfurt, Germany
Berlin, Germany
Washington, USA
Helsinki, Finland
New York, USA

我們想要按國家將城市分類,每個國家后面對應城市列表,如果用perl4來做,必須將城市列表組合成字符串才行,如果用perl5就可以用引用來做,有了引用,就可以構造復雜的hash結構,就可以用列表作為hash的值了。

如何定義引用

方法一 使用斜線/

定義變量的時候,在變量名前面加個/,就得到了這個變量的一個引用,比如
代碼如下:
# 數組的引用
my@array= (1,2,3) ;
my$aref=/@array ;
#哈希的引用
my%hash= ("name"=>"zdd","age"=>30,"gender"=>"male") ;
my$href=/%hash ;
#標量的引用
my$scalar=1 ;
my$sref=/$scalar ;

方法二 匿名引用

方法一不是很常用,最常用的還是匿名引用,方法如下
匿名數組引用-用[]定義
$aref= [ 1,"foo",undef,13 ];

匿名數組的元素仍然可以是匿名數組,所以我們可以用這種方法構造數組的數組,可以構造任意維度的數組。
my $aref = [
        [1, 2, 3],
        [4, 5, 6],
        [7, 8, 9],
]

匿名哈希引用-用{}定義

$href= { APR =>4, AUG =>8 };

使用引用

定義了引用之后,可以使用不同的方法來訪問引用,這里主要有三種方法。記憶這三種方法有個訣竅,將他們與普通的變量訪問作比較即可。

方法一

與普通變量的訪問方法相比,假設原來的變量名是name,則此方法在所有name出現的地方用$name代替,如下:

代碼如下:
my $scalar = 1 ;
my @array = (1, 2, 3) ;
my %hash = ('zdd' => 30, 'autumn' => 27) ;
my $sref = /$scalar ;   # scalar reference
my $aref = /@array ;    # array reference
my $href = /%hash ;     # hash reference

# 方法一
代碼如下:
print $$sref, "/n" ;  # 用$sref代替sref
print @$aref, "/n" ;   # 用$aref代替aref
print %$href, "/n" ;   # 用$href代替href
print $$aref[2], "/n" ;
print $$href{'zdd'}, "/n" ;

#方法二
代碼如下:
#與普通變量的訪問方法相比,假設變量原來的名字是name,則現在用{$name}來代替name。
@a        @{$aref}         An array
   reverse@a  reverse @{$aref}    Reverse the array
   $a[3]      ${$aref}[3]       An element of the array
   $a[3] =17;   ${$aref}[3] =17    Assigning an element

#同理,哈希引用的使用方法如下。
代碼如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜影视一区二区 | 神马福利网 | 亚洲第一激情网 | 嫩呦国产一区二区三区av | 久久久久久久久久91 | 国产成人精品午夜视频' | 国产一区二区免费在线观看视频 | 精品国产一区二 | freexxxhd喷水| 91精品国产乱码久久久久久久久 | 涩涩屋av| 国内精品久久久久久2021浪潮 | 欧美成人一区二区三区 | 欧美黄色一级片视频 | 国产一区二区欧美精品 | 国产精品成人免费一区久久羞羞 | 日韩精品中文字幕在线观看 | 久久综合一区二区 | 久久网国产 | 日韩视频在线不卡 | av在线更新 | 在线观看中文字幕av | 一级大黄毛片 | 久久亚洲一区二区三区成人国产 | 97久久日一线二线三线 | 国产精品久久久网站 | 欧美日韩成人一区二区 | 欧美乱论 | 激情宗合网| 一区二区三区日韩在线观看 | 国产毛片aaa一区二区三区视频 | 久久最新网址 | 亚洲一区二区免费视频 | 亚洲国产精品一区 | 蜜桃欧美性大片免费视频 | 亚洲射吧 | 国产欧美在线观看不卡一 | 免费毛片视频 | 操操操日日日干干干 | 亚洲3p激情在线观看 | 国产一级毛片高清 |