Adding Link Checking
We’re going to put just one more little embellishment into the
make_page.cgi
script. At the end of the
®enerate_links
process, it would be nice to run the
quick-and-dirty version of the link-checking script we saw back in
Chapter 11 (the one that just checked for breakage
in links pointing to files in the local filesystem). The idea here is
that the user has just added some pages to the site, with
IMG
and A
tags pointing to
other files on the site, and it would be nice to run a quick check to
let the user know if any of those links were broken.
As it turned out, nothing could be easier. We can just stick a copy
of that first version of the link checker in the same directory as
make_page.cgi
and modify its configuration
variables to point it at the CyberFair site. We should also set it to
output its results as HTML.
Then we add the following to the end of the
®enerate_site_links
subroutine in
make_page.cgi
:
my $report = `$fs_root/maint/link_check.plx`; if ($report =~ /<BODY>(.+)<\/BODY>/s) { $content .= $1; } &show_links;
That just runs the
link checker using backticks
(`
), captures the output into
$report
, and then uses a regular expression to
extract just the portion of the report between the
<BODY>
and </BODY>
tags. That report is appended to the $content
variable, so any broken links are reported to the user in the results
page he sees after invoking
®enerate_site_links
.
There are several things that the scripts described in these last four chapters ...
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.