#my声明的变量,为词法变量 #词法变量只能在代码的词法边界内使用的变量。 package mypack; my $avi = "Avi in Mypack!/n"; package main; print("===========================/n"); my $i = "All Scope"; sub fun1{ my $j = "Function Scope!/n"; print("fun1 ========$j/n"); fun2(); } sub fun2{ if($j){ print("fun2 ========$j/n"); }else{ print("Can't Access /$j In Fun1!!/n"); } } fun1(); =pod fun1 ========Function Scope! Can't Access $j In Fun1!! =cut package other; print("===========================/n"); print("Other Package--->$i/n"); print("Other Package--->$avi/n"); sub fun3{ local $j = "Function Scope!/n"; print("fun3 ========$j/n"); fun4(); } sub fun4{ if($j){ print("fun4 ========$j/n"); }else{ print("Can't Access /$j In Fun3!!/n"); } } fun3(); =pod Other Package--->All Scope Other Package--->Avi in Mypack! fun3 ========Function Scope! fun4 ========Function Scope! =cut