引用作为一种数据变量,可以指向变量、数组甚至子程序,代指值得地址。
- 变量、变量名、地址
- 软引用
软引用类似于软链接,存储一个变量的名字$scalar = "Hello" @scalar = ("Hello", "World", 123) $refer = "scalar" ##引用变量名
- 软引用的解引用,前面加
$
$$refer ##实质为$scalar $$refer[0] ##实质为$scalar[0]
- 硬引用
硬引用类似于硬链接,就是存储地址,使用\
$scalarref = \$foo; #标量引用,$foo='hello' $constref = \186_282.43; ##常量引用 $arrayref = \@arr; ##数组引用,@arr=1..100; $arrRef = [1,2,3,4,5]; ##匿名数组的引用
- 硬引用的解引用
由于引用是地址,所以用{}
来进行解引用$scalarref = \$foo; =====> ${$scalarref},简写为$$scalarref $constref = \186_282.43; =====> ${$constref}, 简写为$$constref $arrayref = \@arr; =====> ${$arrayref}[0] $arrRef = [1,2,3,4,5]; =====> ${$arrRef}[0]
- 引用有助于创建复杂数据
@array = ([1..5], "hello World") ${$array[0]}{0} ##值为1