在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1.定义一个方法 Perl使用sub定义方法。 语法: sub 方法名称{方法体} 2.调用一个方法 Perl直接使用方法名称调用方法。 调用方式有以下四种: 方法名称; &方法名称; 方法名称(); &方法名称(); 说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。
3.传递参数 Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...); 方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。 关于传值和传引用: 1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。 2.如果没有改变变量值的需求的情况下,不推荐使用@_[i]的方式进行取值。首先,会导致引用对象的改变,其次,并不能明确表明代表的是什么意思。 可使用($param1,$param2...)=@_; 的方式取值运算。 4.方法的返回值 可以使用return显示的返回值。也可不用return。 简单示例,帮助理解 1 #!user/bin/env perl -w 2 #定义一个函数 3 sub fun_say_hello{ 4 print "hello,world!\n"; 5 } 6 7 #引用函数 8 fun_say_hello; 9 &fun_say_hello; 10 fun_say_hello(); 11 &fun_say_hello(); 12 13 #传递参数 14 sub fun_say_hello_with_name{ 15 ($name) = @_; 16 print "hello,$name!\n"; 17 } 18 19 fun_say_hello_with_name("Tom"); 20 21 #传值和传引用 22 sub fun_change_name1{ 23 ($fname) = @_; 24 $fname = "Jack"; 25 } 26 27 sub fun_change_name2{ 28 @_[0] = "Jack"; 29 } 30 31 $name = "Tony"; 32 fun_change_name1($name); 33 print "$name\n"; 34 fun_change_name2($name); 35 print "$name\n"; 36 37 #返回值 38 sub check_login{ 39 ($name) = @_; 40 if ($name eq "Tony") 41 { 42 return "welcome\n"; 43 } 44 else 45 { 46 "sorry\n"; 47 } 48 } 49 50 print check_login("Tony"); 51 print check_login("Jack");
|
请发表评论