Perl的子程序(二)】的更多相关文章

在Perl中可以自己创建子程序(Subroutine): 关键字sub,子程序名以及用花括号封闭起来的代码块. sub  marine { ... } 子程序名与标量的命名空间是不同的两个部分. 子程序的返回值:最后一次运算的表达式即是默认的返回值.也可以用return来显式的返回,这样之后的语句不会执行. 在标量上下文返回的会是标量,在列表上下文返回的也是列表. 子程序中的参数:子程序内部可以使用@_,$_[0],$_[1],$_[2],,,这样的变量来表示.@_变量是子程序私有变量,递归调用…
子程序(subroutine) perl中的子程序其实就是自定义函数.它使用sub关键字开头,表示声明一个子程序 子程序名称有独立的名称空间,不会和其它名称冲突 Perl中的子程序中可以定义.引用.修改全局变量,这和几乎所有的语言都不同.当然,也可以定义局部变量 perl中使用&SUB_NAME()的方式调用SUB_NAME子程序,&有时候可以省略,括号有时候也可以省略.具体的规则见后面 sub mysub { $n += 1; print "\$n is: $n",&…
tr和y///是等价的.用来实现一一映射,但也有额外的功能,就像Linux下的tr命令一样. 用法: tr/SEARCH/REPLACEMENT/cdsr y/SEARCH/REPLACEMENT/cdsr 其中: c:取search的补集,将search中未找到的字符全都替换成replacement的最后一个字符 d:删除search中出现的字符 s:压缩重复字符,仅仅只需要压缩不需要替换时,可将replacement指定为空 r:返回的不是替换成功的数量,而是替换成功后的内容,和s///的r…
数组: 特殊的数组索引:加入对索引值超过数组尾端的元素进行赋值,数组将会根据需要自动扩大,只要有可用的内存分配给数组.意外增加的数组元素的值为undef. $a[0]="aa"; $a[1]="bb"; $a[900]="99"; 有时需要找出数组中最后一个元素的索引值,如对数组rocks而言.其最后一个元素的索引值为$#rocks,元素个数$#rocks+1. 数组最后一个元素也可以用#rokcs[-1]访问.-1表示倒数第一的意思. 列表直接…
本文和大家重点讨论一下Perl foreach命令的用法,Perl foreach循环中控制变量的值会被Perl自动保存和恢复.当循环进行时,是没有办法改变其值的.循环结束时,变量的值会回到循环开始前,如果没有值则为undef. Perl foreach用法 Perl foreach从列表(数组)的第一个元素一直循环执行到最后一个元素,一次迭代一个.控制变量(本例中为$rock)每一次迭代从列表中取出一个新值.第一次为“bedrock”,第三次为“lava”.控制变量不是这些列表元素中的一个拷贝…
Perl是一种粘性语言,如果你有其他语言的基础的话,你会发现他的流程控制完全和你所知的一模一样. 简单说一下他们的区别: Perl的elsif在其他语言里头可能表示为else if Perl的last,next在其他语言里头可能叫break和continue 不用找了,Perl中没有switch,其实这用if else也是可以实现的,不是么? Perl可能比你知道的语言里头多了这些:条件控制结构unless.循环控制结构until Perl还有一些特殊的写法 还是详细介绍一下Perl的流程控制吧…
模式分组: /fred+/会匹配freddd这样的 /(fred)+/会匹配fredfredfred这样的 /(fred)*/则会匹配abcdef任意的 圆括号同时也使得重新使用某些字符串成为可能.反向引用来引用圆括号中的模式所匹配的文字,这个行为我们称为捕获组. 反向行为的写法是在反斜线后面接上数字编号,比如\1, \2这样,对应的数字表示对应顺序的捕获组. $_ = "abba";if (/(.)\1/) { # 匹配 'bb'        print "It matc…
0.Perl书籍推荐 Perl书籍下载 密码:kkqx 下面是一些我学习Perl过程中读过完整的或部分章节的觉得好的书. 入门级别1:<Perl语言入门>即小骆驼 入门级别2:<Intermediate Perl>即羊驼 入门后复习:<beginning Perl> 系统性学习和进阶:<Pro Perl>(目前在读,是我整理.完善Perl的最佳书籍) Perl编码技巧:<Perl高效编程>(英文版Effective Perl Programmin…
查看perl模块安装目录:find `perl -e ‘print “@INC”‘` -name ‘*.pm’ -print 为什么要写或要模块呢?简言之:代码重用,更多见于写一组工具集,有很多地方是可以避免重写的.如何能把这些独立抽象出来,在需要的时候载入进程序执行,提高编写的效率和减少维护.基于此,我们需要Perl模块,而如何使用这些模块,请参考“理解use_require_do使用方法” 需要知道的一些基础知识: package, main, require, use, Exporter,…
互动出版网计算机频道.为您推荐关于perl语言的书籍教程.包括perl push.perl chomp以及perl python等perl语言内容. perl语言书籍一.<Perl语言编程 第四版(上下册)(影印版)> <perl语言编程>在1991年第一次出版时就无可争议地成为了perl的圣经,它现在依然是这门高实用性语言的入门指南. perl语言书籍二.<Perl语言入门(第六版.中文版)(Perl程序员必读之作)(china-pub首发)> 最具权威性的o'rei…