• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Perl入门笔记4之子程序

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

定义子程序

关键字sub

例如:

sub func

{

  $n+=1;

}

c++不同的地方:在子程序里定义的变量$n属于全局变量,并且对于变量的位置没有要求,但是c++偏向于将子程序放在主函数的前面声明和定义,但是perl没有限制。

 

调用子程序

使用关键字符&

例如

&func; #n的值这时为1

&func; #n的值这是为2

 

返回值

两种方式:缺省方式返回和关键字return

缺省方式:把子程序中最后一句表达式作为返回值

例如在funcn的值就是返回值

return方式 :用return关键字显式的标记返回值,立即返回,与c++相同

 

参数

传递参数:&func(1,10);#110就是这个子程序的实际参数

c++的不同:定义时,没有形参列表。

子程序会自动将参数传入一个名为@_的数组,并且$_[0]表示第一个参数,依次类推

注意$_和$_[0]没有什么关系

值传递:?有没有类似引用形参这样的概念

例如:

sub max

{

  if($_[0]>$_[1]){

     $_[0];

}

else{

   $_[1];

}

}

调用:&max(2,3);

 

 

子程序的私有变量

关键字:my

sub max{

  my($m,$n);#mn为私有变量,生命周期只是存在于花括号内

}

 

use strict 编译命令

这样perl会要求你一定要用my来声明每个新的变量

如果没有my的限制,则编译的时候会产生fetal error

 

持久性私有变量

关键字:state

变量的作用域始终确定在子程序中,并且可以保留变量的值,有点static的意思


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
perl获取匹配行的后几行发布时间:2022-07-22
下一篇:
perl正则表达式[转]发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap