On 22 Aug 2004 at 2:28, Pavel wrote:
> Hello Alan,
>
> Sunday, August 22, 2004, 1:24:52 AM, you wrote:
>
> AS> On 22 Aug 2004 at 0:20, Pavel wrote:
>
> >> Hello
> >>
> >> I am trying to start perl script from PAR
> >> script1.pl that runs without parameters and was converted to exe
> >>
> >> script2.pl runs with parameters and should have the same environment
> >> as script1.pl
> >>
> >> I cannot chande or modify script2.pl so I need use it "as is"
> >>
> >> "system", "exec", and using of `` dont help me because they start new
> >> process in another enviroment etc.
>
> AS> Not sure this is true. Doing:
>
> AS> system 'script2.pl', @ARGV;
>
> AS> works for me.
>
> ok, it works in common environment ,but not with par. Try:
> pp -l script.pl -o test.exe -e "system 'script.pl';"
>
> if you try to run test.exe on computer without perl installed it
> will not run, but dialog "open with..." appears instead.
True. I didn't know all of your pre-conditions.
> my approach was use "eval". this works with par:
>
> ...
> eval{
> # foreign code here
> print "blabla";
> }
>
> but if I have
> $code = 'print "blabla"';
> I cannot evaluate this with "eval".
>
Why can't you "eval $code" ?
> I have got answer from Alexandr, he suggested 'require':
>
> @ARGV = ("-parameter1=foo","-parameter2=bar");
> require "script2.pl";
>
> so it working up to this code in script2.pl:
>
> $retour=`$command 2>&1`;
This may depend on what the $command is.
>
> that spawn command interpreter. So it dont working again :-((
>
> anyway thanks!
>
This works:
inside.pl:
#!perl -w
use strict;
my $results = `cmd /C dir @ARGV`;
print $results;
outside.pl:
#!perl -w
use strict;
local $/;
open FH, "<$ENV{PAR_TEMP}/inside.pl";
my $code = <FH>;
close FH;
@ARGV = ( "/W", "c:\\windows", "c:\\windows\\system" );
eval $code;
pp command:
pp -o test.exe -l inside.pl outside.pl
and the output of test.exe is a dir list of c:\windows and c:\windows\system, so the
command interpreter is not the problem itself.
Is this anything like what you are trying to do? Are you trying to use "pp -g" on
script1.pl?
Alan Stewart