On 11/7/06, Peter Gordon <[EMAIL PROTECTED]> wrote:
At this point either I have made a mistake and/or am thoroughly
confused.

No, it's what I suspected. Your build of PAR has been done against some
older version of perl (or at least of Scalar::Util) - that's the stuff
extracted with
my script. It's probably a bug that a second, newer version was also
culled  from the
pp'ing system - that's the stuff extracted with unzip. But anyway, the
old stuff is
used once the pp'ed executable gets invoked and it doesn't fit well with newer
stuff from the pp'ing system. This problem is currently heavily discussed
in another thread on the par mailing list.

The only thing missing in the puzzle is: why is this older stuff present?
It's "burned" into PAR at PAR build time, but you said you built PAR yourself
on the pp'ing machine, and didn't reinstall perl or Scalar::Util in
the meantime.
Perhaps there are remnants of an old perl installation on that machine
that you aren't aware of? (e.g. another recent poster with a similar problem
discovered an older perl58.dll in his c:\windows\system32 directory, apparently
installed by a third party application and picked up because of some
peculiar rules on Windows how to locate DLLs).

As for the flashing-windows-when-using-backticks thing:
I once wrote an application using Tk, it drove a third party app using
their command
line interface (including reading and interpreting the output of such).
It used IPC::Run3 for that. When I pp'ed it with --gui it didn't have the
flashing windows effect. In any case, IPC::Run3 uses system() internally
(it does some fancy redirecting beforehand and afterwards to handle the
capture/feeding of stdin/stdout/stderr, though), so I'm surprised that
you see different behavious for system() and IPC::Run3. I'll try to experiment
a little over the weekend.

Cheers, Roderich

Reply via email to