You will have to add a handler to your Apache configuration.The Apache docs have the following example: Modifying static content using a CGI script
The following directives will cause requests for files with the html extension to trigger the launch of the footer.pl CGI script.
Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html
Then the CGI script is responsible for sending the originally requested document (pointed to by the PATH_TRANSLATED environment variable) and making whatever modifications or additions are desired. .If you are running mod_perl then you can do much more. The mod_perl docs have the following: PerlResponseHandler
The handler (response) phase is used for generating the response. This is arguably the most important phase and most of the existing Apache modules do most of their work at this phase.
This is the only phase that requires two directives under mod_perl. For example:
<Location /perl>
SetHandler perl-script
PerlResponseHandler MyApache2::WorldDomination
</Location>
SetHandler set to perl-script or modperl tells Apache that mod_perl is going to handle the response generation. PerlResponseHandler tells mod_perl which callback is going to do the job.
CountZero A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James
| [reply] [d/l] [select] |
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
Options +Includes
Your 'page' (call it page.shtml):
<html>
<head>
<title>My lovely page</title>
</head>
<body>
<!--#include virtual="/cgi-bin/header.cgi-->
<p>My page content</p>
</body>
</html>
| [reply] [d/l] [select] |
The best way to do this is to use a templating system such as Template and use the wrap feature to wrap that formatting around everything else.
If you don't want to go that far, extract the code to generate that header into its own module and use that from all of your programs.
| [reply] |
I am aware of templates but, I want to know is there any ways in perl to mention something like this,
so it will do the inclusion header and footer automatically.
<url-pattern url="out/*">
<include position=begining header.pm/>
<include position=end footer.pm/>
</url-pattern>
<url-pattern url="out/login.cgi">
<include position=begining LoginHeader.pm/>
<include position=end LoginFooter.pm/>
</url-pattern>
| [reply] [d/l] |
| [reply] |
If possible, I would use a “wrapper” template, vs. Apache tricks, because “out of sight is out of mind.” It is very easy, literally, to forget how a program works after you have turned your attentions to other things for a few months.
| |