2009年5月31日星期日

[PerlChina] eval能抓到system error么?

$SIG{ INT } =  sub {  die "\nInterrupt detected !!! we are exiting  !! \n\n" ;
 
for my $var ( @list )  {
    system ( "XXXX  $var" ) ;

效果要: 在执行任何一个程序的时候(即system运行的时候),按ctrl + C
能退出来, 并打印 Interrupt detected !!! we are exiting  !!  这句话
 
但是按上面这么写, ctrl +C 很难 退出来啊,就是perl不知道 已经按了ctrl +C
要按好多下 才能 检测到
 
如果用
for my $var ( @list )  {
    eval {system ( "XXXX  $var" ) ; } ;
    die $@ if $@ ;

也没什么用, 
 
请问怎么办, 就是想达到按ctrl +C 系统任务能退出的效果
 

--
           Yours Sincerely
                   Zeng Hong

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

-~----------~----~----~----~------~----~------~--~---

没有评论: