djlerman has asked for the wisdom of the Perl Monks concerning the following question:
I have come here to ask for your guidance.
I tried searches on line and even tried joining the mailing list for emperl embperl-subscribe@perl.apache.org I don't think it is available anymore.
I have a sample program in 2 formats perl & embperl
The perl version works as a CGI but the embperl version does not work.
Any suggestions or pointers to solutions would be appreciated
OS: Linux version 2.6.35.6-48.fc14.i686.PAE (...) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Fri Oct 22 15:27:53 UTC 2010
perl working script
#!/usr/bin/perl use warnings; use strict; use IPC::Open3; use Symbol 'gensym'; print "Content-type: text/plain\n\n"; my $cmd = 'ls'; my $pid = open3(*HIS_IN, *HIS_OUT, *HIS_ERR, $cmd); close(HIS_IN); # give end of file to kid, or feed him my @outlines = <HIS_OUT>; # read till EOF my @errlines = <HIS_ERR>; # XXX: block potential if massi +ve print "STDOUT: ", @outlines, "\n"; print "STDERR: ", @errlines, "\n"; waitpid( $pid, 0 ); my $child_exit_status = $? >> 8; print "child_exit_status: $child_exit_status\n";
embperl non-working script
Here is the output I receive.[- use warnings; use strict; use IPC::Open3; use Symbol 'gensym'; $escmode = 0; $http_headers_out{'Content-Type'} = "text/plain"; my $cmd = 'ls'; my $pid = open3(*HIS_IN, *HIS_OUT, *HIS_ERR, $cmd); close(HIS_IN); # give end of file to kid, or feed him my @outlines = <HIS_OUT>; # read till EOF my @errlines = <HIS_ERR>; # XXX: block potential if massi +ve print OUT "STDOUT: ", @outlines, "\n"; print OUT "STDERR: ", @errlines, "\n"; waitpid( $pid, 0 ); my $child_exit_status = $? >> 8; print OUT "child_exit_status: $child_exit_status\n"; -]
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: perl / embperl -- IPC::Open3;
by zentara (Cardinal) on May 17, 2014 at 14:09 UTC | |
by djlerman (Beadle) on May 19, 2014 at 20:22 UTC | |
by djlerman (Beadle) on May 22, 2014 at 21:32 UTC |