Generating the Top-level Page
We’re almost done. All that’s left is to generate the site’s top-level page. Here’s the code that does that:
# write out the top-level page my $path = "$base_path/index.html"; my $title = "$show_name Exhibitor Listings"; my $alpha_bar = &make_alpha_bar; my $date = localtime; my $count = keys %listing; # how many exhibitors, total? my $content = <<"EOF"; <H2 ALIGN="center">$show_name Exhibitor Listings</H2> <P ALIGN="center"><EM>Last updated $date<BR> $count exhibitors total</EM></P> <P><STRONG>Alphabetical Index:</STRONG></P> $alpha_bar <P><STRONG>Category Index:</STRONG></P> <UL> $cat_list </UL> EOF &write_page($path, $title, $content);
There are just a few new tricks here. First, we make an alpha bar for the top-level page, but we don’t pass the subroutine a letter as an argument, so the alpha bar we get back does not have any unlinked letters.
Next, we populate the $date variable, which
we’ll use to put a timestamp on the top-level page, by
assigning the output of Perl’s
localtime
function to it. The
localtime function is interesting because it behaves differently depending on whether it is in a scalar or an array context. If you put it in an array context (by assigning its output to an array variable, for example), it will return a list of various elements relating to the current date and time. If you put it in a scalar context, though (as we’ve done here, by assigning its output to a scalar variable), it returns a string describing the current ...