You might want to consider converting the HTML to template form instead. TT2 and HTML::Template are two popular template engines to drive them.
The advantage is in the separation of code from content. That reduces the crosstalk needed between page designers and cgi coders (even if they are the same person).
| [reply] [Watch: Dir/Any] |
| [reply] [Watch: Dir/Any] |
| [reply] [Watch: Dir/Any] |
$html = <<HERE;
THIS IS THE HTML STUFFZ
HERE
print $html;
I would not recomend doing this for pages you plan to update frequently or if you endup with more lines of html than of perl in that program.
If you are thinking about the HERE statement route I would suggest reading the html in from a file, that way the perl is clearer and cleaner.
jcpunk all code is tested, and doesn't work so there :p (varient on common PM sig for my own ammusment)
| [reply] [Watch: Dir/Any] [d/l] |
Well, another pro for a templating system (or the like) is that you can easily split up your pages into several parts where some of them can be used from all pages, e.g. if you use the header-template from all page templates, it is very easy to do global changes there and you only need to change one file
E.g. most parts of my homepage are static html and the common parts (header, navigation, footer) are included with SSI (=Server Side Includes). But since I've got some cgi-Scripts as well (guestbook, calendars, ...), I can use these SSI files also with HTML::Template (and maybe other templating systems), and since you can use html-Template variables in a HTML comment style, I can mix both codes...
...
<html>
<head>
<title>My Page</title>
</head>
<body>
<!-- TMPL_IF NAME=RUN_FROM_CGI -->
<!-- TMPL_INCLUDE NAME="menu.html" -->
<!-- TMPL_ELSE -->
<!--#include virtual="menu.shtml" -->
<!-- /TMPL_IF -->
or the like, and use the template from SSI with include virtual and from HTML-Template with <!-- TMPL_INCLUDE NAME= ...>
Best regards,
perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"
| [reply] [Watch: Dir/Any] [d/l] [select] |