Apache-ASP
view release on metacpan or search on metacpan
site/ssi.html view on Meta::CPAN
<td bgcolor=white><font size=-2 face="verdana" color=#993399><b><nobr> </nobr></b></font></td>
<td bgcolor=white ><font face="verdana,helvetica" size=-1><b><nobr><a href="changes.html" style="text-decoration:none"><font color=#063678>CHANGES</font></a></nobr></b></font></td>
</tr>
<tr>
<td bgcolor=white><font size=-2 face="verdana" color=#993399><b><nobr> </nobr></b></font></td>
<td bgcolor=white ><font face="verdana,helvetica" size=-1><b><nobr><a href="license.html" style="text-decoration:none"><font color=#063678>LICENSE</font></a></nobr></b></font></td>
</tr>
<tr><td colspan=2><hr size=1></td></tr>
<tr>
<td bgcolor=white><font size=-2 face="verdana" color=#993399><b><nobr> </nobr></b></font></td>
<td bgcolor=white ><font face="verdana,helvetica" size=-1><b><nobr><a href="eg/index.html" style="text-decoration:none"><font color=#063678>EXAMPLES</font></a></nobr></b></font></td>
</tr>
</table>
</td></tr>
</table>
<br>
<center>
<a href=http://www.apache-asp.org/><img src="powered_by_apache_asp.jpg" width="88" height="31" alt="Powered by Apache::ASP" border="0"></a>
<br>
<a href=http://perl.apache.org><img src="powered_by_modperl.gif" width="88" height="31" alt="Powered by ModPerl and Apache" border="0"></a>
<br>
<a href=http://www.perl.com><img src="rectangle_power_perl.gif" width="88" height="31" alt="Powered by Perl" border="0"></a>
</center>
</td>
<td valign=top bgcolor=white>
<font size=+0 face=verdana,arial>
<font face=verdana><font class=title size=+1 color=#555555><b>SSI</b></font>
<font face="courier new" size=3><pre>
</pre></font>SSI is great! One of the main features of server side includes
is to include other files in the script being requested. In Apache::ASP,
this is implemented in a couple ways, the most crucial of which
is implemented in the file include. Formatted as
<font face="courier new" size=3><pre>
<!--#include file=filename.inc-->
</pre></font>,the .inc being merely a convention, text from the included
file will be inserted directly into the script being executed
and the script will be compiled as a whole. Whenever the
script or any of its includes change, the script will be
recompiled.
<font face="courier new" size=3><pre>
</pre></font>Includes go a great length to promote good decomposition
and code sharing in ASP scripts, but they are still
fairly static. As of version .09, includes may have dynamic
runtime execution, as subroutines compiled into the global.asa
namespace. The first way to invoke includes dynamically is
<font face="courier new" size=3><pre>
<!--#include file=filename.inc args=@args-->
</pre></font>If @args is specified, Apache::ASP knows to execute the
include at runtime instead of inlining it directly into
the compiled code of the script. It does this by
compiling the script at runtime as a subroutine, and
caching it for future invocations. Then the compiled
subroutine is executed and has @args passed into its
as arguments.
<font face="courier new" size=3><pre>
</pre></font>This is still might be too static for some, as @args
is still hardcoded into the ASP script, so finally,
one may execute an include at runtime by utilizing
this API extension
<font face="courier new" size=3><pre>
$Response->Include("filename.inc", @args);
</pre></font>which is a direct translation of the dynamic include above.
<font face="courier new" size=3><pre>
</pre></font>Although inline includes should be a little faster,
runtime dynamic includes represent great potential
savings in httpd memory, as includes are shared
between scripts keeping the size of each script
to a minimum. This can often be significant saving
if much of the formatting occurs in an included
header of a www page.
<font face="courier new" size=3><pre>
</pre></font>By default, all includes will be inlined unless
called with an args parameter. However, if you
want all your includes to be compiled as subs and
dynamically executed at runtime, turn the DynamicIncludes
config option on as documented above.</font>
<hr size=1>
<table width=100% border=0 cellpadding=1 cellspacing=3>
<tr>
<td valign=top><font face="lucida console" size=-1>
<tr>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#Apache%3A%3ASSI%203398279a>Apache::SSI for mod_perl 1.3.x only</a>
</font>
</td>
<td valign=top >
<font face="lucida console" size=-1>
<a href=#SSI%20with%20modfdac5dd6>SSI with mod_filter in Apache 2</a>
</font>
</td>
</tr>
</table>
<hr size=1>
<p>
<p>
<a name=Apache%3A%3ASSI%203398279a></a>
( run in 1.417 second using v1.01-cache-2.11-cpan-39bf76dae61 )