| 2 | ##  $Id$ | ##  $Id$ | 
| 3 | ## --------------------------------------------------------------------------- | ## --------------------------------------------------------------------------- | 
| 4 | ##  $Log$ | ##  $Log$ | 
| 5 |  | ##  Revision 1.7  2003/03/29 07:24:10  joko | 
| 6 |  | ##  enhanced 'run_cmd': now tries to execute program with appropriate application (e.g. 'cmd.exe' or 'perl') | 
| 7 |  | ## | 
| 8 | ##  Revision 1.6  2003/03/28 06:58:06  joko | ##  Revision 1.6  2003/03/28 06:58:06  joko | 
| 9 | ##  new: 'run_cmd' now asynchronous! (via IPC::Run...) | ##  new: 'run_cmd' now asynchronous! (via IPC::Run...) | 
| 10 | ## | ## | 
| 104 | # FIXME: detect type of program and run with proper application/interpreter | # FIXME: detect type of program and run with proper application/interpreter | 
| 105 | # using IPC::Run we have to dispatch this on our own! *no* os-interaction or interpolation here! | # using IPC::Run we have to dispatch this on our own! *no* os-interaction or interpolation here! | 
| 106 | # => better use absolute path-names only?! | # => better use absolute path-names only?! | 
| 107 | $cmd = "perl $cmd"; | my $application = ''; | 
| 108 |  | if (RUNNING_IN_HELL()) { | 
| 109 |  | $application = 'cmd.exe /C'; | 
| 110 |  | } | 
| 111 |  |  | 
| 112 |  | if ($cmd =~ m/\w+\.pl\s*.*/) { | 
| 113 |  | $application = 'perl'; | 
| 114 |  | } | 
| 115 |  |  | 
| 116 |  | $cmd = "$application $cmd" if $application; | 
| 117 |  |  | 
| 118 | print "IPC::Run: $cmd", "\n"; | print "IPC::Run: $cmd", "\n"; | 
| 119 | #run \@cmd, \$in, \$out, \$err, timeout( 10 ) or die "cat: $?"; | #run \@cmd, \$in, \$out, \$err, timeout( 10 ) or die "cat: $?"; | 
| 120 |  |  |