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

时间:2014-06-22 16:41:13   收藏:0   阅读:178


1.定义一个方法

  Perl使用sub定义方法。

  语法:

  sub 方法名称{方法体}

2.调用一个方法

  Perl直接使用方法名称调用方法。

  调用方式有以下四种:

    方法名称;

    &方法名称;

    方法名称();

    &方法名称();

  说明:方法调用可以再任何位置,可以在方法前、后调用,也可以在方法体内部调用。

  

3.传递参数

  Perl通过方法名后面的括号将参数列表传递到方法体内。例如:function_name("param1","param2"...);

  方法体内部通过@_接收参数。@_是数组。取值的方法也可以采用下标的形式取得。

  关于传值和传引用:

    1.直接将值写进方法后面的括号内就是传值,将标量($xxx)、数组(@xxxx)、哈希结构(%xxx)放进去就是传引用。

    2.如果没有改变变量值的需求的情况下,不推荐使用@_[i]的方式进行取值。首先,会导致引用对象的改变,其次,并不能明确表明代表的是什么意思。

      可使用($param1,$param2...)=@_; 的方式取值运算。

    3.关于传引用

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方法的使用,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!