Perl 子程序的引用

#!/usr/bin/perl

sub people_say{
    my $name=shift();

    if($name eq "jack"){
        print "Hello:",$name,"happy the day!\n";
    }else{
        print "Hi:",$name,"This is my home,welcome~\n";
    }
}

sub people_say2{
    my $name=shift();

    if($name eq "back"){
        print "Hello,My name's:",$name,"happy the day too.\n";
    }else{
        print "Thank you!\n";
    }
}

#上面的子程序可以忽略,下面这块才是重点。
# 这里用了哥引用的方法。
my %greets=(
    People_sayone =>  \&people_say,
    People_saytwo =>  \&people_say2,
);

for my $person(qw(People_sayone People_saytwo)){
    $greets{$person}->('caodan');
}

 

posted @ 2013-03-25 15:10  墨迹哥's  阅读(233)  评论(0编辑  收藏  举报