open2 macht STDERR kaputt !?

open2 macht STDERR kaputt !?

am 22.02.2007 15:33:03 von Frank Kulow

Hallo NG,

gibts da Abhilfe (für Win)?

danke Frank




use IPC::Open2;
#stderr in variable umleiten
open OLDERR, ">&", \*STDERR or die "Can't dup STDERR: $!";
close STDERR or die "closeerr $!";
open STDERR, ">",\$::stderr or die "openerr $!";

print STDERR "vor";

$::pid = open2( \*Reader, \*Writer, "xy.exe -f - ");

print STDERR "nach";

print "v:$::stderr:";

------------

bei This is perl, v5.8.7 built for MSWin32-x86-multi-thread:

> v:vor:

bei This is perl, v5.8.7 built for cygwin-thread-multi-64int

>v:vornach:

Re: open2 macht STDERR kaputt !?

am 25.02.2007 21:11:50 von Daniel Fischer

Frank Kulow!

> gibts da Abhilfe (für Win)?
[...]
> use IPC::Open2;

es gibt IPC::Open3 ;-)


Daniel

Re: open2 macht STDERR kaputt !?

am 28.02.2007 10:42:35 von Frank Kulow

Daniel Fischer schrieb:
> Frank Kulow!
>
>> gibts da Abhilfe (für Win)?
> [...]
>> use IPC::Open2;
>
> es gibt IPC::Open3 ;-)
>
>
> Daniel

die Vermutung lag ja nahe, aber es klappte nicht.

Frank

auch das gibts:
if ($^O eq "MSWin32" )
{
require Tk;#sonst geht open2 nicht