Reading Fillings Back In

This template system works great as long as we only wish to create template-based pages, either as output of a dynamic CGI script or as a one-way processing of some structured data into a set of finished web pages.

But what happens if we want to make changes to the template, and then have those changes reflected in a bunch of HTML pages that have already been created? In the case of the Main School CyberFair project, I wanted to be able to have participating students post student pages describing themselves, and leader pages describing the leaders they had interviewed, even before the site’s HTML design was finished. Later, I wanted to be able to update those pages to reflect the latest version of the site’s template, without having to manually modify each page. What I needed was a way to read the fillings back in from a previously created page, separating those fillings (which I wanted to keep) from the HTML markup that was part of the original template (which I wanted to replace). To do that, I needed to add some additional structure to the HTML documents.

Some structure is built into every HTML page already, of course. For example, the page’s title is easy to extract because it sits between the <TITLE> and </TITLE> tags. The customized content on these pages, though, was harder because there was no structure in the page to separate that content from the template’s standard HTML.

So, I added some structure. Let’s do that now. With a few comment tags, we ...

Get Perl for Web Site Management now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.