您的位置:首页 > 其它

Perl入门(六) Perl方法的使用

2018-01-06 13:02 225 查看

1.定义一个方法
  Perl使用sub定义方法。
  语法:
  sub 方法名称{方法体}[url=mailto:br/>2.调用一个方法
  Perl直接使用方法名称调用方法。
  调用方式有以下四种:
    方法名称;
    &方法名称;
    方法名称();
    &方法名称();
  说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。
  
3.传递参数
  Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name(]  方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。
br/>2.调用一个方法
  Perl直接使用方法名称调用方法。
  调用方式有以下四种:
    方法名称;
    &方法名称;
    方法名称();
    &方法名称();
  说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。
  
3.传递参数
  Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...);
  方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。
    1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。
    1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。
[i]的方式进行取值。首先,会导致引用对象的改变,其次,并不能明确表明代表的是什么意思。
      可使用($param1,$param2...)=@; 的方式取值运算。
    3.关于传引用
如何取变量的引用?Perl使用"\"来取变量的引用。例如:$ref = \$value;$ref = \@arr;$ref = \%hash;
如何理解引用? 你可以认为$ref就是指代那个变量名称。实际上是一个内存地址,只是为了方便记忆,而且它的引用方法也告诉我们就是这个意思.[url=mailto:br/>如何获取引用指向的值?根据引用类型的不同,采用不同的符:引用的值为普通值$$ref,数组@$ref,哈希结构%$ref.是不是和上面说的一样呢?
如何获取引用指向的值?根据引用类型的不同,采用不同的符:引用的值为普通值$$ref,数组@$ref,哈希结构%$ref.是不是和上面说的一样呢?
  可以使用return显示的返回值。也可不用return。
简单示例,帮助理解
[python] view plain copy
#!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_withname{
($name) = @;
print "hello,$name!\n";
}

fun_say_hello_with_name("Tom");

#传值和传引用
sub fun_changename1{
($fname) = @;
$fname = "Jack";
}

sub fun_changename2{
@[0] = "Jack";
}

$name = "Tony";
fun_change_name1($name);
print "$name\n";
fun_change_name2($name);
print "$name\n";

#返回值
sub checklogin{
($name) = @;
if ($name eq "Tony")
{
return "welcome\n";
}
else
{
"sorry\n";
}
}

print check_login("Tony");
print check_login("Jack");


版权声明:本文为博主原创文章,未经博主允许不得转载。
本文已收录于以下专栏:perl学习
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Perl学习