看来的代码,测试通过
#!/usr/bin/perlsub func1 { print "func1 is running\n";}sub func_test { my $func_ref = shift; # ref will return 'CODE' if it's function reference if ( ( ref($func_ref) eq "CODE" ) && defined( &{ $func_ref} ) ) { &{ $func_ref}; print $@ if $@; } else { print "Not real function was called! \n"; }}## testing from heremy $func_ref = \&func1;my $anoy_ref = sub { print "anonymous function is running\n" };my $var = "abcd";my $var_ref = \$var;func_test($func_ref);func_test($anoy_ref);func_test($var);func_test($var_ref)
my $variableName = 10 #定义私有变量
function test{ my $a = shift;}#函数参数其实是个数组#shift删除并返回数组第一个元素
修改之前的代码:
#! /usr/bin/perl#传参测试sub hello{ my $a = shift; print $a;}&hello("hello,world\n");#返回值测试sub max{ my $a = shift; my $b = shift; if ($a > $b) { return $a; } else { return $b; }}$n = &max(10,23);print $n;print "\n";