哈希表也叫做关联数组,使用键来与数值来相关联。
在哈希表变量名前加上前缀%,下面建立一个空的哈希表:
%hash = ();
将一些项放入到刚刚建立的新哈希表中,
$hash{fruit} = apple;
$hash{sandwich} = hamburger;
也可使用以下方式:
%hash = (%hash, drink, bubbly);
但不能使用快捷运算符+=
%hash += (drink, bubbly); #Won't work
注意:使用花括号{}来访问哈希表元素,而不是像数组那样使用[].
在这里,通过键值来访问哈希表中的单个元素:
print $hash{fruit};
apple
如果使用并不存在的哈希表,perl会自动创建它。
$newhash{fruit} = apple;
$newhash{sandwich} = hamburger;
$newhash{drink} = bubbly;
print $newhash{fruit};
apple
创建哈希表的几种方法
下面介绍几种不同的创建哈希表的方法,虽然表现形式不一样,但是它们的作用是一样的。
①%hash = (
fruit => apple,
sandwich => hamburger,
drink => bubbly,
);
②%hash = (
'fruit' , 'apple',
'sandwich' , 'hamburger,'
'drink' , 'bubbly',
);
③%hash = (
fruit , apple,
sandwich , hamburger,
drink , bubbly,
);
④%hash = (
fruit apple
sandwich hamburger
drink bubbly
);
推荐使用第一种!更加直观。
注意,逗号的同义词是=>。
=>运算符并没有做任何特殊的事情;它实际上与逗号运算符不一样(不同的是,它强制将左边的单词解 释为字符串)。
例如:print "x"=>"y"=>"z";
及等同于 ↓
print "x", "y", "z";