Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
so exec always invokes the shell?
#!/usr/bin/perl -- use strict; use warnings; my $perl = 'perl'; # $^X; my @args ; if( @ARGV ){ # no output from exec/systemx @args = ( qw! -l -e !, q!print for @ARGV!, "1 2" ); } else { # output from exec/systemx, but on 2 lines, wrong output @args = ( qw! -l -e !, q!"print for @ARGV"!, '--',"1 2" ); } warn "$perl @args \n"; warn 'system '; system $perl, @args; { use IPC::System::Simple qw' systemx '; warn 'systemx '; systemx $perl, @args; } warn 'exec '; exec $perl, @args; # bug warn " $! $^E "; __END__
$ perl junk.pl 1 perl -l -e print for @ARGV 1 2 system at junk.pl line 24. 1 2 systemx at junk.pl line 29. exec at junk.pl line 33. $
Huuuh?$ perl junk.pl perl -l -e "print for @ARGV" -- 1 2 system at junk.pl line 24. 1 2 systemx at junk.pl line 29. 1 2 exec at junk.pl line 33. $ 1 2
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: exec always invokes the shell? win32
by ELISHEVA (Prior) on Feb 09, 2011 at 19:44 UTC | |
by Anonymous Monk on Feb 10, 2011 at 08:21 UTC | |
by ELISHEVA (Prior) on Feb 10, 2011 at 17:20 UTC | |
by Anonymous Monk on Feb 10, 2011 at 18:04 UTC | |
by ELISHEVA (Prior) on Feb 10, 2011 at 21:00 UTC |
Back to
Seekers of Perl Wisdom