- 论坛徽章:
- 0
|
perl的版本是 This is perl, v5.10.1 。
我使用switch和case搭配,来使用,每个case里面有if和else多重判断。其中一个case中添加了乘法*,就会编译报错(不加配置文件)。就算用### 来屏蔽,也是报错。只能删除该行。检查记录,没有乱码。报错内容是“Bad switch statement (problem in the code block?)” 。我截取case里的内容如下
if ( $bb_tnum ) {
$dd_tnum1 = sprintf ("%02d",($j_tnum-$bb_tnum)/$bb_tnum*100 );
}
if ( @tnum ){
my $tnum = scalar @tnum ;
foreach (0..$#tnum) {
$total_tnum += $tnum[$_] ;
}
print "33\n";
$dd_tnum5=10*10; ---------------- 就是这一行,有乘法就报错。第二行也有乘法都没报错。其它运算符也不会报错。
}else{
$dd_tnum5=0 ;
}
print "44\n";
我单独讲这段内容,放到一个脚本中运行,是正确的。我怀疑是不是其它字段没有正确配置。于是,我删除 “ $dd_tnum5=10*10; ” 这一行,输入配置文件,脚本就运行正常。如何定位问题。
|
|