in reply to eval problem

Give Sys::SigAction a try?

Replies are listed 'Best First'.
Re^2: eval problem
by muad33b (Acolyte) on Jan 10, 2007 at 16:11 UTC
    Ok, so after some more RTFM (thanks!) I ended up trying this option, as it seemed best, however, now when I try to implement Sys::SigAction's "timeout_call" - which gives the following example:
    use Sys::SigAction qw( timeout_call ); if ( timeout_call( 5 ,sub { $retval = DoSomething( @args ); } ) { print "DoSomething() timed out\n" ; }
    And I implemented this as, e.g.:
    177 eval { 178 if ( timeout_call( 10, sub { $ret = system($mnt_cmd) +; } ) 179 { 180 logit ("Couldn't get to $smbdest, and couldn' +t mount it running $mnt_cmd"); 181 return 1; 182 }
    I get the following error:
    [support@hydra script]$ ./cfg_sucker.pl syntax error at ./cfg_sucker.pl line 179, near ") {" syntax error at ./cfg_sucker.pl line 186, near "}" Execution of ./cfg_sucker.pl aborted due to compilation errors.
    What am I doing wrong syntactically? I've looged around, and this appears to be kosher?? TIA!

      You have a missing close paren ')', Missing close curly '}' and missing final semicolon ';':

      eval { if ( timeout_call( 10, sub { $ret = system($mnt_cmd); } ) # 1 2 2 ? { logit("Couldn't get to $smbdest, and couldn't mount it running $ +mnt_cmd"); return 1; # ?? missing '}' } ## <<< missing ;

      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority".
      In the absence of evidence, opinion is indistinguishable from prejudice.
        yea, I was missing a paren, sheesh, sometimes it just takes a second pair of eyes... thanks!