Perl中的引用为标量类型.可视为C语言中的指针.
引用分为软引用和硬引用.软引用类似于软链接,存储一个变量的名字.而硬引用类似于硬链接,存储一个变量的内存地址.
软引用
$scalar="hello";
$refer="scalar";
print $$refer; #打印"hello"
硬引用
$scalar="hello";
$refer=\$scalar;
print $$refer; #打印"hello"
反斜线操作符'\'与C语言中传递地址的操作符&功能类似,在软引用中$refer等于字符串scalar,在引用中$refer是$scalar的地址.不推荐使用软引用.
$refer=\@arrary; 数组引用.
$refer->[0] ${$refer}[0]
$refer=\%hash; 散列引用.
$refer->{$key} ${$refer}{$key}
$refer=[] 用于创建匿名数组.
$refer={} 用于创建匿名散列.
因为在Perl中,数组和散列的元素都必须是标量,所以不能直接建立二维或则三维的.通过引用,可以方便的建立.
例:
@array=( [1,2,3],[4,5,6],[7,8,9]); #建立一个数组,每个元素为一个匿名数组引用.
$array[0] 值为第一个匿名数组的引用.
$array[0]->[0] 表示数组的第一个元素 1
两个下标之间的箭头是可选的
$array[0][0]==$array[0]->[0]==${$array[0]}[0]
阅读(1869) | 评论(0) | 转发(0) |