#!/usr/bin/perl require 'default.cgi'; $n = 18; # number of pages $page = $ENV{'QUERY_STRING'}; # Program begins. if ($page eq '') { $page = '1'; &print_page ("../data/quote/1.txt"); } else { if ($page =~ /\D/g) { &error ("Incorrect query string"); } else { &print_page("../data/quote/$page.txt"); } } exit; # Program ends. sub print_page { my $counter = 0; print "Content-type: text/html\n\n"; &header; print <<"MARKER"; <table border="0" cellspacing="5" cellpadding="5"> <tr valign="top"> <td width="60"><font face="Verdana, Arial" size="1"> MARKER for ($i=1;$i<=$n ;$i++) { print "<a href=\"/cgi-bin/quote.cgi?$i\">Page $i</a><p>\n"; } print "</font></td>\n\n"; ### Start printing from file. print "<td align=\"left\"><font face=\"Verdana, Arial\" size=\"2\">\n"; open (QUOTE, "@_[0]") || die "Can't open datafile."; while (<QUOTE>) { if (/^<p>/) { $counter++; } print "$_"; } close (QUOTE) || die "Can't close datafile."; print <<"MARKER"; </font></td> <font face="Verdana, Arial" size="1" color="#990000"> Page $page: $counter quotes on this page.</font> </tr> </table> MARKER &footer; } # print_page ends.