#! /usr/bin/perl -w ### Usage: get-classes.pl /var/apache2/htdocs/doc/java/docs/api/allclasses-noframe.html ### Function: prints to two files: ### file 1, Format: Class/Interface-Name Url (in this case relative to ### http://moxie.oswego.edu/doc/java/docs/api/) ### file 2, Format: Class/Interface-Name use strict; use vars qw($FILE $file); use vars qw($RESULTS1 $results1); use vars qw($RESULTS2 $results2); use vars qw($PAT); use vars qw($base $PAT); use FileHandle; $PAT = '^\s*]*>([^<]+)<.*$'; $base = 'http://moxie.oswego.edu/doc/java/docs/api/'; STDOUT->autoflush(1); $file = $ARGV[0] || "/var/apache2/htdocs/doc/java/docs/api/allclasses-noframe.html"; $FILE = new FileHandle; $FILE->open("<$file") or print "couldn't open $file\n"; $results1 = "/home/odendahl/classes${$}a"; $results2 = "/home/odendahl/classes${$}b"; $RESULTS1 = new FileHandle; $RESULTS1->open(">$results1"); $RESULTS1->autoflush(1); $RESULTS2 = new FileHandle; $RESULTS2->open(">$results2"); $RESULTS2->autoflush(1); my $i = 0; while (<$FILE>) { $RESULTS1->print("$2,$1\n") if /$PAT/; $RESULTS2->print("$2\n") if /$PAT/; # if (++$i == 50) { last; } } $FILE->close(); $RESULTS1->close(); $RESULTS2->close(); exit 0;