perl脚本中调用isql问题
如下一个测试的小程序:
sub runISQL {
my ($sqlstr)=@_;
open (HHD,"| isql -Siq01 -Uiccs -Psybase -e -b") or die "err";
print HHD <<ENDOFINPUT ;
$sqlstr
ENDOFINPUT
close(HHD);
my $ret=$? ;
print "in runIsql ret is $ret \n";
return($ret);
}
#########################start######
$sql=<<ENDOFINPUT
select * from dba.test_chara
go
commit
ENDOFINPUT
;
print "$sql\n";
my $ret=runISQL($sql);
print "ret is $ret \n";
不管sql 语句有没错误(例如select的表不存在) ,runISQL 返回的值总是0.请问怎么才能捕获到sql 时候是否正确执行的返回值。