- 论坛徽章:
- 0
|
最近遇到一段代码,关于hash取值的问题,- if (defined $Animal_Hash{Cat_Info}) {
- $Animal_Hash{Cat_Info} =~ /$Animal_Regex_Hash{Cat_Info}/;
- $Animal_Hash{Cat_Type} = $2;
- $Animal_Hash{Cat_Number} = $3;
- if (defined $4) {
- $Tmp_Cat_Animal_Number = $4;
- }
- if (defined $5) {
- $Tmp_Cat_Animal_Name = $5;
- }
- }
复制代码 上面的代码是一个函数里面的,按理说,上面代码里面的$2,$3,$4,$5等,都应该是传给函数的参数.
比如函数名字是sub1,而我调用函数时给的参数是:par1, par2, par3, par4,par5。
那$2,$3,$4,$5就对应:par2, par3, par4,par5
但是从程序实际运行的情况看,他们都不是par2, par3, par4,par5。
所以想问,根据上面的代码,上面的$2,$3,$4,$5代表什么呢?是perl的什么特殊语法吗?
谢谢~~ |
|