RE: PerlApp .exe, Perl script execution produce different results
by Jamie Harris other posts by this author
Jun 27 2005 1:42PM messages near this date
Re: (SPAM)(23.1752) PerlApp .exe, Perl script execution produce different results
|
How to build an ActivePerl compatible Perl?
That is a good suggestion to try, but it doesn't answer the question of
why non-compiled Perl programs using IPC::Run no longer work.
I installed IPC::Run through PPM and ran the test application below on
my Windows XP machine. I didn't get an error, but it does eventually
time out. I'm not too familiar with the module but I'm going to guess
that timing out isn't what it is supposed to do?
(diskpart is in my path, I checked that to be sure). I tried it
without using Perlapp.
-----------------------------------------------------
James Harris
Junior Systems Programmer/Analyst
Information Technology Division
Frederick Community College
-----------------------------------------------------
> >> "Ovod-Everett, Toby" <tovod-everett@[...].com> 6/27/2005
3:15:17 PM > >>
I could be wrong, but the first thing I would do is to try adding the
line:
use Win32::Process;
My guess would be that IPC::Run dynamically determines the OS on the
fly
and then demand-loads Win32::Process. You're running into trouble
because the static code analysis has no way of determining that
Win32::Process needs to be packaged up with the EXE. Adding the use
line supplies an explicit static load for Win32::Process that PerlApp
will take as a hint that the module is required.
Of course, it could be something else (i.e. I haven't verified this,
tested the code, or anything else . . .)
--Toby Ovod-Everett
-----Original Message-----
From: pdk-bounces@[...].com
[mailto:pdk-bounces@[...].com] On Behalf Of
lemons_terry@[...].com
Sent: Thursday, June 23, 2005 8:44 AM
To: pdk@[...].com
Subject: RE: PerlApp .exe, Perl script execution produce different
results
Hi
More information on this problem. Installing ActiveState Perl Dev Kit
6.0
Deployment on my system breaks IPC::Run.
IPC::Run is a CPAN-available module, which is used to spawn
subprocesses
and
control the applications that run in them. With ActiveState Perl Dev
Kit
6.0 Deployment installed my system, Perl programs that use IPC::Run
stop
working correctly, even when they are run within Komodo or invoked at
the
command line ('perl foo.pl'). When I de-install ActiveState Perl Dev
Kit
6.0 Deployment, these programs using IPC::Run start working again.
What could it be about the ActiveState Perl Dev Kit 6.0 Deployment -
IPC::Run combination that is so pathological?
Here's a small test program that shows the behavior:
use IPC::Run qw( start pump finish timeout ) ;
my $in = "";
my $out = "";
my $err = "";
@cmd = ("diskpart", "/?");
my $h = start \@cmd, \$in, \$out, \$err, timeout( 30000 ) ;
pump $h;
print $out;
finish $h;
Substitute a different program than 'diskpart', if you'd like.
Thanks for the help, in advance!
tl
_______________________________________________
PDK mailing list
PDK@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
PDK mailing list
PDK@[...].com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
Attachments:
unknown1
unknown2
unknown3
unknown4
|