Per学习笔记[3]

简介:
Per学习笔记
1.子程序
(1)子程序的定义可以在程序的任意位置,且不需要在定义之前有任何声明。
(2)子程序的定义是全局的,可以在子程序中使用全局变量。
(3)所有的Perl 子程序都会返回值,在Perl 中返回值和不返回值是没有区别的。当Perl遍历此子程序时,将会计算每一步的值,此子程序中最后计算的值将被返回。注意:不是程序的最后一行。
(4)Perl的子程序如果带有参数,会自动将此子程序的参数存到默认数组@_中,第一个参数值为$_[0],其他依次为$_[1]...
调用Perl带有参数的子程序时,如果传入的参数过多,那么多余的参数会被忽略掉;如果传入的参数过少,额外的会用undef补上。
(5)@_是perl子程序的一个私有变量。
my关键字在子程序内部创建私有变量,私有变量仅对该子程序起作用。
定义私有变量:
my $fred,$betty; --没有定义$betty变量
my ($fred,$betty);--两个变量均定义了
如果新的变量没被赋值的话:标量变量会自动赋与undef,而数组变量会赋与空列表。
(5)告诉Perl 进行更严格的语法检测: use strict;
(6)立刻从perl的子程序中退出,而不再执行其余的代码:return;
(7)在调用子程序时可以省略符号&,但是前提是子程序的定义必须在调用之前。

如果子程序和Perl的一个内嵌程序同名,则必须使用&来调用它。编译器将在调用之前检查其定义,而非直接将它当作内嵌的函数来处理。加上&,可以确保你调用了此子程序;不加,则仅当没有同名的内嵌函数时才能调用到它:


本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/223766

相关文章
|
开发者
整合的实现 | 学习笔记
快速学习整合的实现.
整合的实现 | 学习笔记
|
数据采集 SQL 消息中间件
第三阶段总结|学习笔记
快速学习第三阶段总结
111 0
第三阶段总结|学习笔记
|
Arthas 监控 测试技术
总结 | 学习笔记
快速学习总结
57 0
|
Java 开发者
Loger 的使用|学习笔记
快速学习 Loger 的使用
309 0
Loger 的使用|学习笔记
|
机器学习/深度学习 算法 数据挖掘
总结与回顾 | 学习笔记
快速学习总结与回顾
56 0
|
Kubernetes Cloud Native Linux
K8S 初识_K8S 初识 | 学习笔记
快速学习 K8S 初识_K8S 初识
97 0
K8S 初识_K8S 初识 | 学习笔记
|
人工智能 算法 开发者
SDV 要解决的问题 | 学习笔记
快速学习 SDV 要解决的问题
125 0
|
开发者 索引
Aggregations|学习笔记
快速学习 Aggregations。
248 0
Aggregations|学习笔记
|
开发者 Python
回顾总结| 学习笔记
快速学习回顾总结
55 0
回顾总结| 学习笔记