NAME

Apache::SimpleReplace - a simple framework for creating
                        uniform, template driven content.

SYNOPSIS

httpd.conf:

<Location /someplace>
   SetHandler perl-script
   PerlHandler Apache::SimpleReplace

   PerlSetVar  TEMPLATE "templates/format1.html"
   PerlSetVar  REPLACE "the content goes here"
</Location>  

Apache::SimpleReplace is Filter aware, meaning that it can be used
within an Apache::Filter framework without modification.  Just
include the directive

PerlSetVar Filter On

and modify the PerlHandler directive accordingly...

DESCRIPTION

Apache::SimpleReplace provides a simple way to insert content within
an established template for uniform content delivery.  While the end
result is similar toApache::Sandwich, Apache::SimpleReplace offers
several advantages.

It does not use separate header and footer files, easing the pain of
maintaining syntactically correct HTML in seperate files.

It is Apache::Filter aware, thus it can both accept content from
other content handlers as well as pass its changes on to others
later in the chain.

EXAMPLE

/usr/local/apache/templates/format1.html:

 <html>
      <head><title>your template</title></head>
              <title>your template</title>
      <body bgcolor="#778899">
              some headers, banners, whatever...
              <p>
 the content goes here
              </p>
              <p>some footers, modification dates, whatever...
      </body>
 </html> 


httpd.conf:

PerlModule Apache::Filter

<Location /someplace>
   SetHandler perl-script
   PerlHandler Apache::SimpleReplace Apache::SSI

   PerlSetVar  TEMPLATE "templates/format1.html"
   PerlSetVar  REPLACE "the content goes here"
   PerlSetVar  Filter On
</Location>

Now, a request to http://localhost/someplace/foo.html will insert
the contents of foo.html in place of "the content goes here" in the
format1.html template and pass those results to 
Custom::SomeOtherHandler.  The result is a nice and tidy way to 
control any custom headers, footers, background colors or images,
in a single html file.

NOTES

 TEMPLATE is relative to the ServerRoot - this may change in future 
 releases, depending on demand.

 REPLACE defaults to "|", though it may be any character or string
 you like - metacharacters are disabled in the search, so sorry, no 
 regex for now... 

 Verbose debugging is enabled by setting 
 $Apache::SimpleReplace::DEBUG=1 or greater.  To turn off all debug
 information, set your apache LogLevel directive above info level.

 This is alpha software, and as such has not been tested on multiple
 platforms or environments.  It requires PERL_LOG_API=1, 
 PERL_FILE_API=1, and maybe other hooks to function properly.

FEATURES/BUGS

If Apache::SimpleReplace finds more than one match for REPLACE in
the template, it will insert the request for the first occurrence
only.  All other replacement strings will just be stripped from the 
template.

Currently, Apache::SimpleReplace will return DECLINED if the
content-type of the request is not 'text/html'.

SEE ALSO

perl(1), mod_perl(3), Apache(3), Apache::Filter(3)

AUTHOR

Geoffrey Young <geoff@cpan.org>

COPYRIGHT

Copyright 2000 Geoffrey Young - all rights reserved.

This library is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.