Perl入门(六) Perl方法的使用
2014-06-20 14:44
323 查看
1.定义一个方法
Perl使用sub定义方法。
语法:
sub 方法名称{方法体}
2.调用一个方法
Perl直接使用方法名称调用方法。
调用方式有以下四种:
方法名称;
&方法名称;
方法名称();
&方法名称();
说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。
3.传递参数
Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...);
方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。
关于传值和传引用:
1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。
2.如果没有改变变量值的需求的情况下,不推荐使用@_[i]的方式进行取值。首先,会导致引用对象的改变,其次,并不能明确表明代表的是什么意思。
可使用($param1,$param2...)=@_; 的方式取值运算。
3.关于传引用
如何取变量的引用?Perl使用"\"来取变量的引用。例如:$ref = \$value;$ref = \@arr;$ref = \%hash;
如何理解引用? 你可以认为$ref就是指代那个变量名称。实际上是一个内存地址,只是为了方便记忆,而且它的引用方法也告诉我们就是这个意思.
如何获取引用指向的值?根据引用类型的不同,采用不同的符:引用的值为普通值$$ref,数组@$ref,哈希结构%$ref.是不是和上面说的一样呢?
4.方法的返回值
可以使用return显示的返回值。也可不用return。
简单示例,帮助理解
1.定义一个方法
Perl使用sub定义方法。
语法:
sub 方法名称{方法体}
2.调用一个方法
Perl直接使用方法名称调用方法。
调用方式有以下四种:
方法名称;
&方法名称;
方法名称();
&方法名称();
说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。
3.传递参数
Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...);
方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。
关于传值和传引用:
1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。
2.如果没有改变变量值的需求的情况下,不推荐使用@_[i]的方式进行取值。首先,会导致引用对象的改变,其次,并不能明确表明代表的是什么意思。
可使用($param1,$param2...)=@_; 的方式取值运算。
3.关于传引用
如何取变量的引用?Perl使用"\"来取变量的引用。例如:$ref = \$value;$ref = \@arr;$ref = \%hash;
如何理解引用? 你可以认为$ref就是指代那个变量名称。实际上是一个内存地址,只是为了方便记忆,而且它的引用方法也告诉我们就是这个意思.
如何获取引用指向的值?根据引用类型的不同,采用不同的符:引用的值为普通值$$ref,数组@$ref,哈希结构%$ref.是不是和上面说的一样呢?
4.方法的返回值
可以使用return显示的返回值。也可不用return。
简单示例,帮助理解
#!user/bin/env perl -w #定义一个函数 sub fun_say_hello{ print "hello,world!\n"; } #引用函数 fun_say_hello; &fun_say_hello; fun_say_hello(); &fun_say_hello(); #传递参数 sub fun_say_hello_with_name{ ($name) = @_; print "hello,$name!\n"; } fun_say_hello_with_name("Tom"); #传值和传引用 sub fun_change_name1{ ($fname) = @_; $fname = "Jack"; } sub fun_change_name2{ @_[0] = "Jack"; } $name = "Tony"; fun_change_name1($name); print "$name\n"; fun_change_name2($name); print "$name\n"; #返回值 sub check_login{ ($name) = @_; if ($name eq "Tony") { return "welcome\n"; } else { "sorry\n"; } } print check_login("Tony"); print check_login("Jack");
相关文章推荐
- Perl入门 - Perl方法的使用
- Perl入门(六) Perl方法的使用
- [wbxml]使用Perl封装的WBXML的方法
- [wbxml]使用Perl封装的WBXML的方法
- Delphi正则表达式使用方法(TPerlRegEx)
- 初学者编程入门:C语言指针使用方法
- 使用 perl 编写 GNOME 应用程序入门
- F#入门-第一章 概述-第四节 解释器的使用方法
- jaxp使用初级入门(只需要两个步骤,覆盖五个方法)
- perl中sprintf函数的使用方法。
- JSON 入门使用方法
- JAVA入门2--关于JOptionPane 和 JApplet一起使用的方法例子
- p4.pm p4python p4perl p4api 的使用方法
- MFC:新手使用文档类的入门方法
- IBatisNet的相关使用方法 - 入门
- [wbxml]使用Perl封装的WBXML的方法
- iText使用入门,打开加密的pdf文件(itext Bad user Password的解决方法)
- Java网络编程从入门到精通 (9):使用isXxx方法判断地址类型
- Delphi正则表达式使用方法(TPerlRegEx)