请教一个hash取值的语法
时间:2011-04-02
来源:互联网
最近遇到一段代码,关于hash取值的问题,
复制代码
上面的代码是一个函数里面的,按理说,上面代码里面的$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的什么特殊语法吗?
谢谢~~
- 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;
- }
- }
比如函数名字是sub1,而我调用函数时给的参数是:par1, par2, par3, par4,par5。
那$2,$3,$4,$5就对应:par2, par3, par4,par5
但是从程序实际运行的情况看,他们都不是par2, par3, par4,par5。
所以想问,根据上面的代码,上面的$2,$3,$4,$5代表什么呢?是perl的什么特殊语法吗?
谢谢~~
作者: s_girl 发布时间: 2011-04-02
$_[1],$_[2],$_[3],$_[4]
对应第 2 3 4 5个参数
对应第 2 3 4 5个参数
作者: mingxw 发布时间: 2011-04-02
还有个作用域问题得考虑
作者: mingxw 发布时间: 2011-04-02
$Animal_Hash{Cat_Info} =~ /$Animal_Regex_Hash{Cat_Info}/;
正则表达式捕获的内容,具体内容要看 $Animal_Regex_Hash{Cat_Info} 了
正则表达式捕获的内容,具体内容要看 $Animal_Regex_Hash{Cat_Info} 了
作者: zhlong8 发布时间: 2011-04-02
QUOTE:
$Animal_Hash{Cat_Info} =~ /$Animal_Regex_Hash{Cat_Info}/;
正则表达式捕获的内容,具体内容要看 $Ani ...
zhlong8 发表于 2011-04-02 17:17
正则表达式捕获的内容,具体内容要看 $Ani ...
zhlong8 发表于 2011-04-02 17:17
谢谢,我大概明白了~
- my %Animal_Regex_Hash = ( Cat_Info => qr/^((\w{8})\((\d+)\)\s+($String_Cat_Info_a\s+$String_Cat_Info_b?\s=?\s(\d+)|$String_Cat_Info_c=(\w+)))$/i,);
作者: s_girl 发布时间: 2011-04-02
括号 () ,你要是不懂这个还是先看下入门的文档,很多例外情况
作者: zhlong8 发布时间: 2011-04-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28