Perl子程序怎么用


小编给大家分享一下Perl子程序怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Perl 子程序(函数)Perl 子程序也就是用户定义的函数。Perl 子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读。Perl 子程序可以出现在程序的任何地方,语法格式如下:调用子程序语法格式:在 Perl 5.0 以下版本调用子程序方法如下:在新版本上,虽然也支持该调用方法,但不推荐使用。接下来我们来看一个简单是实例:执行以上程序,输出结果为:Perl 子程序可以和其他编程一样接受多个参数,子程序参数使用特殊数组 @_ 标明。因此子程序第一个参数为 $_[0], 第二个参数为 $_[1免费云主机域名], 以此类推。不论参数是标量型还是数组型的,用户把参数传给子程序时,perl默认按引用的方式调用它们。执行以上程序,输出结果为:用户可以通过改变 @_ 数组中的值来改变相应实际参数的值。由于 @_ 变量是一个数组,所以它可以向子程序中传递列表。但如果我们需要传入标量和数组参数时,需要把列表放在最后一个参数上,如下所示:以上程序将标量和数组合并了,输出结果为:我们可以向子程序传入多个数组和哈希,但是在传入多个数组和哈希时,会导致丢失独立的标识。所以我们需要使用引用(下一章节会介绍)来传递。当向子程序传递哈希表时,它将复制到 @_ 中,哈希表将被展开为键/值组合的列表。以上程序执行输出结果为:子程序可以向其他编程语言一样使用 return 语句来返回函数值。如果没有使用 return 语句,则子程序的最后一行语句将作为返回值。以上程序执行输出结果为:子程序中我们可以返回标量,数组和哈希,但是在返回多个数组和哈希时,会导致丢失独立的标识。所以我们需要使用引用(下一章节会介绍)来返回多个数组和函数。默认情况下,Perl 中所有的变量都是全局变量,这就是说变量在程序的任何地方都可以调用。如果我们需要设置私有变量,可以使用my操作符来设置。my操作符用于创建词法作用域变量,通过my创建的变量,存活于声明开始的地方,直到闭合作用域的结尾。闭合作用域指的可以是一对花括号中的区域,可以是一个文件,也可以是一个 if, while, for, foreach, eval字符串。以下实例演示了如何声明一个或多个私有变量:以上程序执行输出结果为:我们可以使用 local 为全局变量提供临时的值,在退出作用域后将原来的值还回去。local 定义的变量不存在于主程序中,但存在于该子程序和该子程序调用的子程序中。定义时可以给其赋值,如:以上程序执行输出结果为:state操作符功能类似于C里面的static修饰符,state关键字将局部变量变得持久。state也是词法变量,所以只在定义该变量的词法作用域中有效,举个例子:以上程序执行输出结果为:注1:state仅能创建闭合作用域为子程序内部的变量。注2:state是从Perl 5.9.4开始引入的,所以使用前必须加上 use。注3:state可以声明标量、数组、哈希。但在声明数组和哈希时,不能对其初始化(至少Perl 5.14不支持)。子程序调用过程中,会根据上下文来返回不同类型的值,比如以下 localtime() 子程序,在标量上下文返回字符串,在列表上下文返回列表:以上程序执行输出结果为:以上是“Perl子程序怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注百云主机行业资讯频道!

相关推荐: 怎么用HTML+CSS+JS实现猜数字游戏

这篇“怎么用HTML+CSS+JS实现猜数字游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一免费云主机域名定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用HTML+CSS+JS实现猜数…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/29 16:09
下一篇 08/29 16:09

相关推荐