



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
- 有两种用法,都和解引用有关。第一种用法,就是解引用。根据 - 后面跟的符号的不同,解不同类型的引用,- 表示解数组引用,- 表示解散列引用,-() 表示解子程序引用。例子:$arr_ref = /array;$arr_ref-0 访问数组 array 的第一个元素。$hash_ref = /%hash;$hash_ref-foo 访问 %hash 的 foo 分量$sub_ref = /&test;$sub_ref-(1, 2, 3) 使用参数列表 (1,2,3) 来调用 &test 这个子程序。第二种用法,就是调用类或者对象的方法。格式:$obj-method();或者ClassName-method();例如:$pop3-login( $username, $password );my $ftp = Net:FTP-new(, Debug = 0);这两种用法略有不同,但是总的来说,符合以下规则:引用:color=red假设 - 的左操作数(就是左边那个值,如 $pop3 和 Net:FTP)是 $left,右操作数(就是右边那个值,如 login 和 new)是 $right,那么 - 的运算规则就是:if ( ref $left 有效 ) # 也就是说 $left 是个引用,而不是个裸字 $ClassName = ref $left; # 取引用的类型,当作类名称else $ClassName = $left; # 直接把裸字当作类名称然后调用:&$ClassName:$right( $left, 原参数列表 )也就是说把类名称和右操作数拼在一起,当作子程序名称(注),并把左操作数当作第一个参数。注:Perl 解释器要做的工作其实要比这复杂,它还要考虑到继承的问题。=作用当给 hash 赋值时,有时并不明显哪些元素是 keys,那些是 values。例如,在下面的赋值中,我们需要仔细的计数,“ key,value,key,value,” ,来判断2.5 是key 还是 vlaue:%some_hash = ( “ foo” , 35, “ bar” , 12.4 ,2.5, “ hello” , “Wilma” , 1.72e30, “ betty” , “ bye/n” );如果 Perl 能提供一种方法,让我们轻易的辨别出哪一个是 key,哪一个是 value,那该有多好?Larry 也想过这个问题,因此发明了大箭头符号(=)。对于 Perl 来讲,其作用和和逗号(,)类似,因此有时称作 “ 胖逗号(fat comma)” 。Perl 语法中,在需要逗号(,)的时候,都可以使用大箭头符号替换;对于 Perl来讲,它们是一样的。下面是给 hash 赋值的另一种方法:是的,还有小箭头()。它和引用一起使用,这是高级话题。如果你准备好了,可以参见perlreftut 和perlref 的帮助手册它们在技术上还是有一点不同:任何大箭头符号(=)左侧的 bareword(由字母,数字,下划线,但不是由数字开头,前面有可选的加号或减号, 组成的序列)都暗含着由引号括起来了的。因此可以省略掉大箭头符号(=)左侧bareword上的引号。你也可以忽略掉hash的花括号中的引号,如果里面只有作为key的bareword.my %last_name = (“fred” = “flintstone”,“dino” = undef,“barney”= “rubble”;“betty”= “rubble”,);上面代码中,很容易辨别出哪一个是 key,哪一个是 value。注意列表中最后一个逗号。我们早期讨论过,这个逗号是没什么用的,但有时能给我们带来方便;如果我们要加
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省嘉兴市嘉善高级中学2026届高二化学第一学期期中考试试题含解析
- 2026届湖北省随州市第二高级中学、郧阳中学化学高二第一学期期末统考模拟试题含答案
- 桡骨中段骨折护理查房课件
- 2025年能源资源管理与可持续发展试卷及答案
- 2025年注册验船师资格考试(C级船舶检验专业基础安全)综合能力测试题及答案二
- 2025年注册验船师资格考试(A级船舶检验法律法规)综合能力测试题及答案一
- 2025年钢琴学习教程与曲目练习指南
- 2025年企业运营管理能力提升课程试题集及解析
- 2025年9月遗传生殖门诊护理理论考试题及答案
- 北京市门头沟区2023-2024学年七年级上学期期末质量监测数学考试题目及答案
- 2025-2030中国城市更新政策演变与实施路径专项调研报告
- 儿科川崎病课件
- 2025年书记员考试题库(附答案)
- 中成药合理使用培训课件
- 建筑材料绿色采购实施方案
- 学堂在线 劳动教育 章节测试答案
- 2025-2031年中国AI成人娃娃行业市场发展规模及投资机会研判报告
- 2025至2030中国个人定位信标(PLB)行业产业运行态势及投资规划深度研究报告
- 2025年振兴中学分班考试题及答案
- 肿瘤防治宣传科课件
- 2025年军队文职人员招聘考试(公共科目)测试题及答案一
评论
0/150
提交评论