Gerald Richter wrote:
>
> > The only thing that's been hooping me up so far in the
> > inability to do these two types of includes:
> >
> > <!--#include virtual="/some/file.html">
>
> This should work
Should work, but doesn't. Basically it returns nothing... no errors or
anything else in its place in the calling document. #include
file="/path/to/actual/some/file.html" works fine.
>
> > <!--#exec cgi="/cgi-bin/list-stuff.cgi">
> >
>
> This can't work, because a cgi script always sends out it's output directly
> to the browser and not using Embperl output layer. It may be possible to get
> this working with optEarlyHttpHeader, but I never tried it (and removing the
> die "unimplemented" in Embperl/Syntax/SSI.pm")
I tried removing the die, but got this error:
[25190]ERR: 24: Line 1: Error in Perl code: Undefined subroutine
&HTML::Embperl::Syntax::SSI::_set_VAR called at
/usr/local/lib/perl/5.6.1/HTML/Embperl/Syntax/SSI.pm line 382.
Using HTML-Embperl-2.0b3, which compiled and tested with flying colors.
I tried tracking down where set_VAR is coming from, but appears to be
outside of Embperl.
Really, I don't care if HTML::Embperl::Syntax::SSI doesn't support exec.
Doing exec is a monstrous pig. The current mod_include/exec setup
results in 1 request per second (ab -n 100 -c 10) when a page includes a
header that execs two perl scripts. nasty. In addition to that, the load
goes *way* up, and the forked perl scripts take a while to die off (they
stay as <defunct> in the process list). Using a nice clean EmbperlObject
layout results in 18-30 requests per second, even when connecting to
multiple databases at the same time. This is all on a dual PIII-933Mhz
system, 512MB RAM, and a new fastish SCSI drive. With a bit of tweaking,
I can probably get this up to 30-40 requests a second.
> > I realize that doing the #exec cgi is bad, as it causes another perl
> > interpeter to be forked, even when running under mod_perl. My goal is to
> > replace all these #exec CGI calls with similiar calls to Embperl
> > objects. If this can be done using the Embperl SSI syntax calls, that
> > means we don't have go through and change all the 3-400 files (mostly
> > static HTML, but some Apache::Registry scripts and mod_perl handlers as
> > well)...
>
> That should be possible, as long as you don't have CGI scripts that runs
> outside of Apache
>
> > all we need to do is change the header SSI (/header.ssi) to do
> > this instead:
> >
> > <!--#include embperl="/list-stuff.epl">
> >
>
> Should this be a replacement for [- Execute ('/list-stuff.epl') -] ?
Yes, Precisly.
> If yes, it should be esay to add to Embperl/Syntax/SSI.pm
Sweet.
Is optDisableTableScan gone forever? Or is it one of those things
that's hard to reimplement in the 2.0 rewrite? Currently, spanning
tables over multiple objects is not working for me... I have a base.epl
that Executes 'header.epl', '*', and 'footer.epl'. header.epl starts a
table, and footer.epl finishes it. Header.epl comes out the wringer just
fine... footer.epl, however, contains this line:
</td></tr></table>
However, after being Executed, it comes out as:
</td>/tr/table
So of course the browser renders it as "/tr/table"... This is with
EMBPERL_SYNTAX set to only "Embperl".
By the way, when you do plan to release Embperl 2 as final?
Thanks Gerald.
--
Regards,
Wim Kerkhoff, Software Engineer
Merilus, Inc. -|- http://www.merilus.com
Email: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]