8月30日 perl 学习笔记

复习哈希

哈希的键与值

哈希就像一桶数据

没有数据顺序

访问哈希元素

$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会以目前正在执行的子程序里的变量为优先。

你可能感兴趣的:(8月30日 perl 学习笔记)