Perl 子程序(函数).pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Perl 子程序(函数)

Perl ⼦程序(函数) Perl ⼦程序(函数) Perl ⼦程序也就是⽤户定义的函数。 Perl ⼦程序即执⾏⼀个特殊任务的⼀段分离的代码,它可 使减少重复代码且使程序 易读。 Perl ⼦程序可 出现在程序的任何地⽅,语法格式如下: sub subroutine{ statements; } 调⽤⼦程序语法格式: subroutine( 参数列表 ); 在 Perl 5.0 下版本调⽤⼦程序⽅法如下: subroutine( 参数列表 ); 在新版本上,虽然也⽀持该调⽤⽅法,但不推荐使⽤。 接下来我们来看⼀个简单是实例: # !/usr/bin/perl # 函数定义 sub Hello{ print Hello, World!\n; } # 函数调⽤ Hello(); 执⾏ 上程序,输出结果为: Hello, World! 向⼦程序传递参数 Perl ⼦程序可 和其他编程⼀样接受多个参数,⼦程序参数使⽤特殊数组 @_ 标明。 因此⼦程序第⼀个参数为 $_ [0], 第⼆个参数为 $_ [1], 此类推。 不论参数是标量型还是数组型的,⽤户把参数传给⼦程序时,perl默认按引⽤的⽅式 调⽤它们。 # !/usr/bin/perl # 定义求平均值函数 sub Avera e{ # 获取所有传⼊的参数 $n = scalar(@_); $sum = 0; foreach $item (@_){ $sum += $item; } $avera e = $sum / $n; print 传⼊的参数为 : ,@_\n; # 打印整个数组 print 第⼀个参数值为 : $_[0]\n; # 打印第⼀个参数 print 传⼊参数的平均值为 : $avera e\n; # 打印平均值 } # 调⽤函数 Avera e(10, 20, 30); 执⾏ 上程序,输出结果为: 传⼊的参数为 : 10 20 30 第⼀个参数值为 : 10 传⼊参数的平均值为 : 20 ⽤户可 通过改变 @_ 数组中的值来改变相应实际参数的值。 向⼦程序传递列表 由于 @_ 变量是⼀个数组,所 它可 向⼦程序中传递列表。 但如果我们需要传⼊标量和数组参数时,需要把列表放在最后⼀个参数上,如下所 ⽰: # !/usr/bin/perl # 定义函数 sub PrintList{ my @list = @_; print 列表为 : @list\n; } $a = 10; @b = (1, 2, 3, 4); # 列表参数 PrintList($a, @b); 上程序将标量和数组合并了,输出结果为: 列表为 : 10 1 2 3 4 我们可 向⼦程序传⼊多个数组和哈希,但是在传⼊多个数组和哈希时,会导致丢失 独⽴的标识。所 我们需要使⽤引⽤ (下⼀章节会介绍)来传递。 向⼦程序传递哈希 当向⼦程序传递哈希表时,它将复制到 @_ 中,哈希表将被展开为键/值组合的列表。 # !/usr/bin/perl # ⽅法定义 sub PrintHash{ my (%hash) = @_; foreach my $key ( keys %hash ){ my $value = $hash{$key}; print $key : $value\n; } } %hash = (name = youj, a e = 3); # 传递 希 PrintHash(%hash); 上程序执⾏输出结果为: a e : 3 name : youj ⼦程序返回值 ⼦程序可 向其他编程语⾔⼀样使⽤ return 语句来返回函数值。 如果没有使⽤ return 语句,则⼦程序的最后⼀⾏语句将作为返回值。 # !/usr/bin/perl # ⽅法定义 sub add_a_b{ # 不使⽤ return $_[0]+$_[1]; # 使⽤ return # return $_[0]+$_[1]; } print add_a_b(1, 2) 上程序执⾏输出结果为: 3 ⼦程序中我们可 返回标量,数组和哈希,但是在返回多个数组和哈希时,会导致丢 失独⽴的标识。所 我们

文档评论(0)

qiwqpu54 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档