Dan Muey wrote: [snip]
> I could replace all single quotes with double quotes and escape everythgin > inbetween them but that seems like a lot. > > Any ideas how to deal with the single quotes? (Since shell escape > characters may or may not work since apache is executing it) after trying (a few years ago) to do something similar to what you propose which lead to a total mess and difficult to maintain codes, i have basically gave up this escape-shell-character approach. it's almost impossible to know when to escape and when not to escape. i now use a different approach. instead of involving Perl from the command line with -e, i simply print the code to a file and then run the code within the file. here is a strip down version of what i used to do: #!/usr/bin/perl -w use strict; use CGI; use File::Temp qw/tempfile tempdir/; my $cgi = CGI->new; if($cgi->param('code')){ my($fh,$fn) = tempfile(DIR => tempdir(CLEANUP => 1)); print $fh "#!/usr/bin/perl -w\n"; print $fh "use strict;\n\n"; print $fh $cgi->param('code'); close($fh); if(chmod(0755,$fn)){ html($cgi,$cgi->param('code'),`$fn`); }else{ html($cgi,"Unable to run: \n\n" . $cgi->param('code')); } }else{ html($cgi,undef); } #-- DONE-- # sub html{ my $cgi = shift; my $code = shift; my $value = $code || ''; if(@_){ $value .= "\n\n__END__\n\n"; $value .= $_ for(@_); } print $cgi->header,<<HTML; <html><body> <form method=post action=your_script.pl> <textarea name=code cols=60 rows=10>$value</textarea><br> <input type=submit value=Submit> </form> </body></html> HTML } __END__ a textarea is printed along a submit button, code is entered through the textarea, when the submit button is clicked, a tmp file is create which holds the code from the textarea. the file is then run from the command line and output is returned back to the textarea. finally, the tmp file is deleted when the script finish. david -- sub'_{print"@_ ";* \ = * __ ,\ & \} sub'__{print"@_ ";* \ = * ___ ,\ & \} sub'___{print"@_ ";* \ = * ____ ,\ & \} sub'____{print"@_,\n"}&{_+Just}(another)->(Perl)->(Hacker) -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>