裸塊的特色:裸塊內用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