个奇怪的问题。 perl -e "do q/test\/testSql\/TESTSQL.pm/ or print qq/Can't do:$!/;"
testsql.pm在test/testSql下面
当testsql.pm里面有switch的时候就会显示
Can't do:Bad file descriptor

不是use Switch;的时候
是使用switch的时候。
后来看了看一旦使用switch。这时候formline的here doc就会报错显示找不到结束串。
但实际上结束串有。
后来我将结束串后面的语句放到do{}里面,就不会出错,不知道为什么。here doc对结束串以后的语句还有要求?还是仅仅是因为formline的问题
举个简单的例子
sub createConn{
 my ($testConn)=...@_;
 switch ($testConn){
 }
}
sub test{
 formline <<End;
 test
End
 do{
  $i=$i+1;
 }
}
1;
这时候使用
perl -e "do q/test\/testSql\/test.pm/ or print qq/Can't do:$!/;"不会报错

sub createConn{
 my ($testConn)=...@_;
 switch ($testConn){
 }
}
sub test{
 my $i=1;
 formline <<End;
 test
End
  $i=$i+1;
}
1;
这个时候
perl -e "do q/test\/testSql\/test.pm/ or print qq/Can't do:$!/;"会报错
Can't do:Bad file descriptor

--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛“PerlChina Mongers 讨论组”论坛。
 要在此论坛发帖,请发电子邮件到 [email protected]
 要退订此论坛,请发邮件至 [email protected]
 更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

回复