大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> CGI专区 -> perl实例分析教程之九

perl实例分析教程之九

时间: 2021-07-31 作者:daque

六、递归子步调 perl中,子步调不妨彼此挪用,其挪用本领与上述沟通,当挪用该子步调自己时,即成了递归子步调。递归子步调有两个前提:1、除去不被卧步调变换的变量外,一切的变量必需的限制的;2、该子步调要含有遏止挪用自己的代码。 七、用别号传播数组参数 1、用前方讲到的挪用本领&my_sub(@array)将把数组@array的数据正片到子步调中的变量@_中,当数组很大时,将会耗费较多的资源和功夫,而用别号传播将不做那些处事,而对该数组径直操纵。情势如: @myarray = (1, 2, 3, 4, 5); &my_sub(*myarray); sub my_sub { my (*subarray) = @_; } 2、此本领一致于c谈话中的传播数组的开始地方南针,但并不一律,在设置数组的别号之后,即使有同名的大略变量,则对该变量也是起效率的。如: $foo = 26; @foo = ("here's", "a", "list"); &testsub (*foo); ... sub testsub { local (*printarray) = @_; ... $printarray = 61; } 当子步调实行完,主步调中的$foo的值仍旧成了61,而不复是26了。 3、用别号的本领不妨传播多个数组,如: @array1 = (1, 2, 3); @array2 = (4, 5, 6); &two_array_sub (*array1, *array2); sub two_array_sub { my (*subarray1, *subarray2) = @_; } 在该子步调中,subarray1是array1的别号,subarray2是array2的别号。 八、预订义的子步调 perl5预订义了三个子步调,辨别在一定的功夫实行,它们是:begin子步调在步调启用时被挪用;end子步调在步调中断时被挪用;autoload子步调在找不到某个子步调时被挪用。你不妨本人设置它们,以在一定功夫实行所须要的举措。如: begin { print("hi! welcome to perl!n"); } autoload{ print("subroutine $autoload not foundn"); # 变量$autoload即未找到的子步调名 print("arguments passed: @_n"); } 若同一个预订义子步调设置了多个,则begin程序实行,end逆序实行。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.