Generating the HTML Pages

We’re finally ready to actually create our HTML pages. It’s taken a lot of work to get to this point, but if you’re like me and can remember grinding through the creation of lots of individual HTML pages by hand, this part is going to seem pretty cool.

Generating the Individual Company Listings

First, we’ll output each individual company listing, which we do with the following chunk of code:

# write out each company listing

foreach my $co_name (sort keys %listing) {

    my $path    = "$base_path/$listing_path{$co_name}";
    my $title   = "$co_name ($show_name exhibitor listings)";

    my $content = <<"EOF";
<P ALIGN="center"><STRONG><A HREF="$base_url/">Exhibitor Listings 
Index</A></STRONG></P>

$listing{$co_name}
EOF

    &write_page($path, $title, $content);
}

No new Perl features in there at all. We use a foreach loop to cycle through all the company listings in the %listing hash, and for each company create three scalar variables:

  • A $path variable, consisting of an appropriate filesystem path for this page, based on the $base_path configuration variable and the entry for this company from the %listing_path hash

  • A $title variable, with a suitable title for this listing’s HTML page

  • A $content variable, containing the part of the finished HTML page that will be specific to this company’s listing page

Once we’ve populated these three variables, we use them as arguments to a subroutine named &write_page , which writes out those pages to disk. Here’s what that &write_page routine, ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.