最近工作中一直在用perl写程序。 尽管perl不是我学习方向,但还是对工作中遇到的一些知识点做下总结,以备后用。
1。定义一个哈希(散列或关联数组)
%FOR=(
"aaa"=>"001",
"bbb"=>"002",
"ccc"=>"003",
"ddd"=>"004",
);
2。取关联数组里的单个数据:$FOR{"aaa"},或用简单变量:$FOR{$tmp_par}.
定义一个二维关联数组
%FOR1=(
"aaa"=>"001",
"bbb"=>"002",
"ccc"=>"003",
"ddd"=>"004",
);
%FOR2=(
"xxx"=>"how",
"yyy"=>"are",
"zzz"=>"you",
);
%TO_FOR=(
"0"=>/%FOR1,
"1"=>/%FOR2,
);
/表示用来取%FOR1和%FOR2的地址。
这样就可以通过$TO_FOR{"0"}{"aaa"}得到001.
3。在perl里递归调用子程序,该子程序一定要有停止调用本身的代码,如return语句。另外,除了不被子程序改变的变量外,所有的变量必须的局部的,即用my声明.
4。在用split()以?,.,+,*等字符分割时,需要加上转义/,如:split('/?',$some_string);
5。将分割的自串放到数组里:my @temp=split('/',$tmp_s2);
接着可以用@temp得到数组大小,如:my $size = @temp;$size即为数组temp的大小。
6。对数组循环:
foreach my $u (@arr_tmp)
{
...
}
7。判断一个字串是否匹配一个模式,可用$u=~/tre|world|mp3/
如:my $pattern="tre|world|mp3"
if($u=~/$pattern/)
{
#匹配
}