%some_hash = ( “ foo” , 35, “ bar” , 12.4 ,2.5, “ hello” , “Wilma”, 1.72e30, “ betty” , “ byen” );
![perl中的大箭头符号(=>) perl 瘦箭头](http://img.413yy.cn/images/30101030/30113122t013384020e6dd48fd5.jpg)
如果 Perl 能提供一种方法,让我们轻易的辨别出哪一个是 key,哪一个是 value,那该有多好?Larry也想过这个问题,因此发明了大箭头符号(=>)◆。对于 Perl来讲,其作用和和逗号(,)类似,因此有时称作 “ 胖逗号(fat comma)” 。Perl语法中,在需要逗号(,)的时候,都可以使用大箭头符号替换;对于 Perl来讲,它们是一样的◆。下面是给 hash赋值的另一种方法:
◆是的,还有小箭头(->)。它和引用一起使用,这是高级话题。如果你准备好了,可以参见perlreftut 和perlref 的帮助手册
◆它们在技术上还是有一点不同:任何大箭头符号(=>)左侧的bareword(由字母,数字,下划线,但不是由数字开头,前面有可选的加号或减号, 组成的序列)都暗含着由引号括起来了的。因此可以省略掉大箭头符号(=>)左侧bareword上的引号。你也可以忽略掉hash的花括号中的引号,如果里面只有作为key的bareword.
my %last_name = (
“fred” => “flintstone”,
“dino” => undef,
“barney”=> “rubble”;
“betty”=> “rubble”,
);
上面代码中,很容易辨别出哪一个是 key,哪一个是value。注意列表中最后一个逗号。我们早期讨论过,这个逗号是没什么用的,但有时能给我们带来方便;如果我们要加入新的元素到 hash中,我们只需知道每一行都有 key/value 对,结尾有逗号。Perl会查看不同元素之间的逗号,以及列表结尾处的逗号(此逗号非必需的)