Perl 引用
引用就是指针,Perl的引用是一个标量类型,它可以指向变量、数组、哈希表(也叫关联数组)和函数,可以应用在程序的任何地方。
创建引用
定义变量的时候,在变量名前面加个\,就得到了这个变量的一个引用,如下所示:
|
|
在数组中我们可以用匿名数组引用,使用 [] 定义,在Perl中,匿名数组使用方括号([]
)来表示,而正常的数组,则是使用小括号来表示,例如@ages=(25,30,40)
。当使用匿名数组引用时,使用方括号([]
),如下所示:
|
|
匿名数组的元素仍然可以是匿名数组,所以可以用这种方法构造数组的数组,可以构造任意维度的数组,如下所示:
|
|
在哈希中我们可以用匿名哈希引用,使用 {} 定义:
|
|
也可以创建一个没有子程序名的匿名子程序引用:
|
|
取消引用
取消引用可以根据不同的类型使用$
,@
或%
来消除,如下所示:
|
|
判断引用类型
如果你不能确定变量类型,你可以使用 ref 来判断,返回值列表如下,如果没有以下的值返回 false:
|
|
案例如下所示:
|
|
循环引用
循环引用在两个引用相互包含时出现。你需要小心使用,不然会导致内存泄露,如下实例:
|
|
引用函数
函数引用格式: \&
,调用引用函数格式: & + 创建的引用名
,如下所示:
|
|