reverse @a reverse @{$aref} 对一个数组做倒序排序
$a[3] ${$aref}[3] 数组中的一个成员
$a[3] = 17; ${$aref}[3] = 17 对一个成员赋值
上面每行中,两个表达式实现的是同一种功能。左边那个是对数组@a操作,右边那个是对'引用'$aref所指向的数组操作。它们对数组产生相同的作用。
使用哈希的'引用'和数组的'引用'完全一样。
%h %{$href} 一个哈希
keys %h keys %{$href} 从哈希中将键取出来
$h{'red'} ${$href}{'red'} 哈希中的一个成员
$h{'red'} = 17 ${$href}{'red'} = 17 对一个成员赋值
你对一个'引用'无论想做什么,使用规则 1 已经告诉你怎么做了。 你只要象使用常规的数组或哈希一样编写Perl代码,然后把数组或哈希的名字用 {$reference}来替代。‘当我只有一个'引用'时,怎么来遍历整个数组?'你这样写:
for my $element (@array) {
...
}
接着用'引用'替代数组名@array:
for my $element (@{$aref}) {
...
}
‘怎当我只有一个'引用'时,怎么来打印一个哈希的内容?'先写一个打印整个哈希的代码:
for my $key (keys %hash) {
print "$key =>; $hash{$key}/n";
}
然后用'引用'代替那个哈希的名字:
for my $key (keys %{$href}) {
print "$key =>; ${$href}{$key}/n";
}
使用规则 2
使用规则 1 是你真正需要的,因为它告诉了你怎么来处理一个'引用',而它对几乎任何的'引用'都有效。但是我们通常做的事情只是和数组或哈希中的一个成员有关,使用规则 1 却是很笨重的方法,所以还有简单的方法。









