O'Reilly logo

Perl for Web Site Management by John Callender

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required