#! /usr/bin/perl $gnohome_internal = "/home/gno/public_html"; $gnohome_external = "http://www.gno.org/gno"; $basedir = "/home/gno/public_html/describe/gen"; $entrydir = "describe/entry"; # relative to $gnohome_* while (<>) { ($name, $classes) = split; $namelist{$name} = $classes; } @keylist = keys(%namelist); @sorted = sort(@keylist); $currentLetter = ''; foreach $f (@sorted) { # create the describe entry open(pp, "/usr/local/bin/describe $f|") || die ("couldn't open pipe to 'describe $f'"); $filename = "$gnohome_internal/$entrydir/$f.html"; open(fp2, "> $filename") || die("couldn't open $filename"); printf(fp2 "\n" . "\n" . "\n" . "Apple IIgs Describe Database -- " . $f . "\n" . "\n" . "\n" . "

Describe Entry for " . $f . "

\n" . "
\n");
    while($_ = ) {
	printf(fp2 "%s", $_);
    }
    printf(fp2 "

\n"); close(fp2); close(pp); # make the index-by-name page $l = substr($f, 0, 1); if ($l ne $currentLetter) { ($currentLetter eq '') || (printf(fp "
\n") && close(fp)); $filename = $basedir . '/' . $l . '.html'; open(fp, "> $filename") || die("couldn't open $filename"); $currentLetter = $l; $cap = $l; $cap =~ tr/a-z/A-Z/; printf(fp "\n" . "\n" . "\n" . "Apple IIgs Describe Database -- Index by " . $cap . "\n" . "\n" . "\n" . "

Describe Entries by Name: " . $cap . "

\n" . "
\n") && close(fp)); $letters = "a b c d e f g h i j k l m n o p q r s t u v w x y z"; @letter = split(/\s+/, $letters); foreach $l (@letter) { $cap = $l; $cap =~ tr/a-z/A-Z/; $filename = "$basedir/$l.html"; if (! -f $filename) { open(fp, "> $filename") || die("couldn't open $filename"); printf(fp "\n" . "\n" . "\n" . "Apple IIgs Describe Database -- Index by " . $cap . "\n" . "\n" . "\n" . "

Empty Page

\n" . "There are currently no utilities registered that begin ". "with " . $cap . ".

\n" . "\n"); close(fp); } }