NAME
    Apache::EmbeddedPerl::Lite - light weight embedded perl parser
SYNOPSIS
      PerlModule Apache::EmbeddedPerl::Lite
      
        SetHandler perl-script
        PerlHandler Apache::EmbeddedPerl::Lite
        PerlSetVar ContentType text/html
      
    or
      use Apache::EmbeddedPerl::Lite qw(
            embedded
      };
      $response = embedded($class,$r,$filename,@args)
DESCRIPTION
    This modules is a light weight perl parser designed to be used in
    conjunction wit mod_perl and Apache 1 or Apache 2. It may be used as a
    handler for files containing embedded perl or it may be called as a
    subroutine to conditionally parse files of your choosing.
    Perl code may be embedded in a file parsed by this module as described
    below. Each section of perl code is collected and eval'd as a subroutine
    that is passed the two arguments ($classnam,$r) in its input array @_;
    Embedded perl should have the following format:
      On a line by itself:
      {optional whitespace}  
    The beginning and terminating brackets may optionally be followed by a
    white space and comments, which will be ignored.
      i.e.
      
    * $http_response = handler($classname,$r);
    The function "handler" has the prototype:
            handler ($$) : method {
    which receives the arguments $class, $r from Apache mod_perl.
      input:        class name,     (a scalar, not a ref)
                    request handle
      return:       Apache response code or undef
      handler is not exported.
    Expected Codes:
              0     OK
            404     File Not Found
            500     Server Error
      404 could not find, open, etc... file
      500 missing closing embedded perl bracket
          embedded perl has an error
    When a 500 error is returned, a warning will be issued to STDERR
    providing details about the error.
    A ContentType header will not be sent unless the type is specified as
    follows:
            PerlSetVar      ContentType     text/html
    mod_perl configuration is as follows:
      PerlModule Apache::EmbeddedPerl::Lite
      
        SetHandler perl-script
        PerlHandler Apache::EmbeddedPerl::Lite
        PerlSetVar ContentType text/html
      
    * $http_response = embedded($classname,$r,$file,@args);
    The function "embedded" is similar to "handler" above except that it
    does not send any headers. Headers are the responsibility of the
    application "handler", or the embedded code.
    @args are optional arguments that may be passed from your handler to
    embedded.
      input:        class name,     (a scalar, not a ref)
                    request handle,
                    file name
                    @args   [optional] appication specific
      return:       Apache response code or undef
      ... at startup or .httaccess ...
      use Apache::EmbeddedPerl::Lite qw(embedded);
      ... in the application handler ...
            if ($r->filename =~ /\.ebhtml$/) {
      ...     set content type, etc...
              $response = embedded(__PACKAGE__,$r,$r->filename);
            } else {
              $response = embedded(__PACKAGE__,$r,$someotherfile);
            }
            return $response if $response; # contains error
      ...     do something else
PREREQUISITES
            Apache
      or
            Apache2
            Apache2::RequestRec
            Apache2::RequestUtil;
            Apache2::RequestIO;
    
EXPORT_OK
            embedded
AUTHOR
    Michael Robinton, michael@bizsystems.com
COPYRIGHT
    Copyright 2013-2014, Michael Robinton & BizSystems This program is free
    software; you can redistribute it and/or modify it under the same terms
    of the Apache Software License, a copy of which is included in this
    distribution.
    This program is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.