子程序定义-1

46 篇文章 30 订阅 ¥39.90 ¥99.00
子程序即一段分离的代码,它可以使减少重复代码且使程序易读。PERL中,子程序可以出现在程序的任何地方。

但一般放在程序的开始或结尾。

sub subroute{
 statements:
}

Sub开始,子程序名同变量的命名规则,可与变量同名。最好不要与内部函数同名。如果与内部函数同名则用&subroutine区分,不用&是内部函数,&是定义的函数,


带有原型说明的子程序定义

sub subroutine ($$) {   ##需要两个简单变量的参数
     statements;
}

() 中的符号表示参数的类型。以一个字符表示一个参数.

$ 简单变量 @列表 %散列

&匿名子程序  *引用

前面加\为强制类型一致。;分隔必须的参数和可选参数。

\@$;$ 表示第一个参数为列表


函数返回值:

1. 缺省子程序中最后执行的一个语句的值将用作返回值,如果在if块中为最后执行的语句,虽然不是子程序的最后一句,也是返回值。

$a=1;

不用等于,直接$retval;

split(/:/,@a);返回数组。

2.语句return(retval);退出子程序并返回值retval,retval可以为列表。

3.返回错误

return;返回错误undef

用eval('subroutine');函数,错误由$@变量中取得。



参数传递

形式:

&sub1($number1,$number2,$number3);#调用

sub sub1{
my ($number1,$number2,$number3)= @_;
}

my $number1=shift;

my $number2=shift2;
my $number3=pop;

所有参数在数组@_中,每个元素为$_[0],$_[1]

@_,$_[] 为局部变量,当子程序内再调用子程序时, @_不改变。会新生成另一份@_

改变@_内元素的值如$_[0] 会改变主程序的参数只。

shift pop 一次取一个参数。对@_操作,shift 取第一个参数,然后删除,pop取最后一个参数再删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值