PERL PERL5 PORTERS 5 RE IPC RUN ON WIN32 FAILURES
Subject: RE: IPC::Run on win32 failures
Date: Wed, 16 Feb 2005 13:38:15 +0300

From: vkonovalov@no-spam (Vadim Konovalov)

> >Everybody's happy, but performance could be better and it's > an ungainly > >machine built of barely compatible ducts taped together with > blowers and > >fans.
> > > >
> So are you saying that IPC::Open3 *can* do piped commands, > but just that > it isn't very nice behind the scenes?

not only performance.

It starts $^X as subprocess whith some parameters to manage Win32 pipes and assumes that it starts another instance of Perl (or two) to help processing.
This fails miserably and silently when invoked from application, which embeds perl, where $^X is something else. It just dont work and no warning during execution or mentioning of such a limitation.

I don't know how to fix this however.

Best regards,
Vadim.


Date: Wed, 16 Feb 2005 10:51:25 +0000

Subject: Re: IPC::Run on win32 failures
From: nick@no-spam (Nicholas Clark)
On Wed, Feb 16, 2005 at 01:38:15PM +0300, Konovalov, Vadim wrote:

> > So are you saying that IPC::Open3 *can* do piped commands, > > but just that > > it isn't very nice behind the scenes?
> > not only performance.
> > It starts $^X as subprocess whith some parameters to manage Win32 pipes and > assumes that it starts another instance of Perl (or two) to help processing.
> This fails miserably and silently when invoked from application, which > embeds perl, where $^X is something else. It just dont work and no warning > during execution or mentioning of such a limitation.
> > I don't know how to fix this however.

I couldn't find the literal text $^X in Open3.pm, so I'm not sure where the buggy code is. What did I miss?

Nicholas Clark

Date: Wed, 16 Feb 2005 11:02:36 +0000

Subject: Re: IPC::Run on win32 failures
From: steve.hay@no-spam (Steve Hay)
Nicholas Clark wrote:

>On Wed, Feb 16, 2005 at 01:38:15PM +0300, Konovalov, Vadim wrote:
>
> >
>>>So are you saying that IPC::Open3 *can* do piped commands, >>>but just that >>>it isn't very nice behind the scenes?
>>> >>>
>>not only performance.
>>
>>It starts $^X as subprocess whith some parameters to manage Win32 pipes and >>assumes that it starts another instance of Perl (or two) to help processing.
>>This fails miserably and silently when invoked from application, which >>embeds perl, where $^X is something else. It just dont work and no warning >>during execution or mentioning of such a limitation.
>>
>>I don't know how to fix this however.
>> >>
>
>I couldn't find the literal text $^X in Open3.pm, so I'm not sure where the >buggy code is. What did I miss?
>
I think we've got confused here. Vadim previously reported a problem with $^X in IPC::Run, not IPC::Open3:

http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2005-02/msg00182.html
so I assume that's what he meant above. IPC::Run::Win32IO does indeed use $^X at least twice. Just one more reason to prefer IPC::Open3 over IPC::Run, I guess.

- Steve
------------------------------------------------
Radan Computational Ltd.

The information contained in this message and any files transmitted with it are confidential and intended for the addressee(s) only. If you have received this message in error or there are any problems, please notify the sender immediately. The unauthorized use, disclosure, copying or alteration of this message is strictly forbidden. Note that any views or opinions presented in this email are solely those of the author and do not necessarily represent those of Radan Computational Ltd. The recipient(s) of this message should check it and any attached files for viruses: Radan Computational will accept no liability for any damage caused by any virus transmitted by this email.