复习哈希
哈希的键与值
哈希就像一桶数据
没有数据顺序
访问哈希元素
$hash{$some_key}
访问整个哈西使用百分号%作为前缀
哈希函数
each 函数
需要迭代整个哈希
exists函数返回真假
delete函数
子程序(Subroutines)
(a) Syntax: sub NAME {Code}
(b) 呼叫子程序: &NAME(para1, para2,…)
(c) 参数传递:@_
Perl 和C一样是采用Call by value的方式,不过因为Perl不用事先宣告变量,所以建立子程序的时候也不用宣告要传递什么参数。当主程序在传递参数给子程序时,Perl会把括号括起来的参数按顺序放在一个特殊的全域变量 @_ 数组中,然后子程序就可以随意使用数组 @_ 里的参数,例如 $_[0] 是第一个参数, $_[1] 是第二个,或是用 my($a1,$a2,$a3,…) = @_;来取出各个参数,当然 my @arg=@_; 或 my %arg=@_; 也是可以的。
(d) Variable Localization:my or local 通常在程序中定义的变量都是全域变量,所以在子程序中若要把变量区域化则要加上 my 或 local 关键词,例如:my $x=3;,若子程序所用的变量名不小心和主程相同,Perl会以目前正在执行的子程序里的变量为优先。