perl的变量作业域

#!/usr/bin/perl –w

our $a =1;

print “初始化外部 $a\n”;

sub test1{

     our $a=2;

    print “函数 $a \n”;

    &test2();

}

sub test2{

 print “函数的调用函数 $a \n”;    

}

test1();

Print “最终外部 $a\n”;

 

结果:1,2,2,2

#!/usr/bin/perl –w

our $a =1;

print “初始化外部 $a\n”;

sub test1{

     local $a=2;

    print “函数 $a \n”;

    &test2();

}

sub test2{

 print “函数的调用函数 $a \n”;    

}

test1();

Print “最终外部 $a\n”;

 

结果:1,2,2,1

#!/usr/bin/perl –w

our $a =1;

print “初始化外部 $a\n”;

sub test1{

     my $a=2;

    print “函数 $a \n”;

    &test2();

}

sub test2{

 print “函数的调用函数 $a \n”;    

}

test1();

Print “最终外部 $a\n”;

 

结果:1,2,1,1

#!/usr/bin/perl –w

my/local/our $a =1;

print “初始化外部 $a\n”;

sub test1{

   $a=2;

    print “函数 $a \n”;

    &test2();

}

sub test2{

 print “函数的调用函数 $a \n”;    

}

test1();

Print “最终外部 $a\n”;

 

结果:1,2,2,2

猜你喜欢

转载自blog.csdn.net/xianjuke008/article/details/84163787