我有这个代码
print "Starting\n";
BEGIN {
$module='Data::Dumper';
$module_available=1;
eval "use $module; 1" or $module_available = 0;
}
$var=1;
print "Module=$module_available\n";
print Dumper $var if ($module_available==1);
Run Code Online (Sandbox Code Playgroud)
输出是
Starting
Module=1
$VAR1 = 1;
Run Code Online (Sandbox Code Playgroud)
和这个
print "Starting\n";
$module='Data::Dumper';
$module_available=1;
eval "use $module; 1" or $module_available = 0;
$var=1;
print "Module=$module_available\n";
print Dumper $var if ($module_available==1);
Run Code Online (Sandbox Code Playgroud)
和输出
Starting
Module=1
Run Code Online (Sandbox Code Playgroud)
为什么在第一个场景中打印变量
perl ×1