perl 裸块

裸块的特色:裸块内用my声明的变量只在裸块内有效spa

Eg:ci

my $a = 10;变量

sub fun{tab

         printf "%s\n",$a;co

    }ascii

fun(); ##10printf

{ab

my $a =20;

sub naked_fun{

         printf "%s\n",$a;

}

naked_fun();  #20

fun(); #10

}

naked_fun();  #20

fun(); #10

可是对没有用my声明的变量,没有这个效果

Eg:

my $a = 10;

sub fun{

         printf "%s\n",$a;

    }

fun(); ##10

{

$a =20;   #和正常的改值语句相同

sub naked_fun{

         printf "%s\n",$a;

}

naked_fun();  #20

fun(); #20

}

naked_fun();  #20

fun();#20

相关文章
相关标签/搜索