perl-modperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrew Ho <>
Subject Re: Calling an Apache::ASP page from an Apache::Registry script
Date Tue, 26 Feb 2002 00:29:26 GMT

AH>...can you call an Apache::ASP page from an Apache::Registry script?
AH>Couched in MVC terminology, can I forward control from a .pl controller
AH>to a .asp template, and pass arguments in a natural way?

JC>The safest thing to do right now would probably be to do an external
JC>redirect to the ASP page like:
JC>  Apache->request->header_out('Location', "script.asp?$ARGS");

Thanks for the quick response. I didn't think of the POST data reading
conflict. A related question, is there any way to make Apache::ASP not
initialize its $Request object by default? This is the only blocker from
using the Apache::Request API in an Apache::ASP page.

JC>If what you really want is to simply load an external ASP script as a
JC>template for further processing in the, and you only want to
JC>run as an Apache::Registry script, there is not an API for
JC>doing this currently.

Specifically what I'm trying to do is to emulate $Server->Transfer but
from an Apache::Registry script. I don't need to further process the
Apache::ASP template in the Apache::Registry script.

I think an .asp that has <% at the top of the file and %> at the end of it
would be similar; but I'd prefer using Apache::Registry to (1) eliminate
the <% %> tokens and more importantly (2) continue using the
Apache::Request interface which I'm used to.

We actually wrote our own template language at Tellme a long time ago to
support specifically this paradigm, which is really convenient for simple
templates (we considered releasing it--running templates is usually as
fast as or faster than running Apache::Registry scripts--but just then,
there was a "don't write another stupid template system" flame war, so we
decided not to!). It's also super convenient for MVC style programming
(modules are the M, Apache::Registry scripts the C, templates the V).

I've been investigating other template systems to try to find similar
functionality in an existing package for a non-Tellme related project and
haven't been able to find any embedded-Perl solutions that can be called
from a .pl and still have the benefits of template caching. I prefer
embedded Perl because it's so convenient for little niceties (for example,
"Your search found <%= $n || 'no' %> document<%= $n == 1 ? '' : 's' %>.")
that real-world HTML interfaces need.

So that's what I'm looking for. :)



Andrew Ho     
Engineer                   Voice 650-930-9062
Tellme Networks, Inc.       1-800-555-TELL            Fax 650-930-9101

View raw message