#!/usr/bin/perl #FE Harrell 27Jan04 #J Horner 28Jan04 require 'getopts.pl'; use File::Basename; #use strict; my ($program, $infile, $handle, $outfile); #================================================================= $program = "html2twiki"; sub usage { die "Usage: $program [-v] [file [output-file]]\n"; } #================================================================= &Getopts("v") || &usage; $infile = shift(@ARGV); if ($infile) { open(INFILE, $infile) || die "$program: Cannot read from $infile\n"; $handle = "INFILE"; } else { $handle = "STDIN"; } $outfile = shift(@ARGV); if (!$outfile) { if($infile ne "") { # otherwise uses STDOUT by default $outfile = basename($infile, (".html")) . ".txt"; } } if ($outfile) { open(OUTFILE, ">$outfile") || die "$program: Cannot write to $outfile\n"; select(OUTFILE); } $/ = undef ; # Change input field separator to empty string $_ = <$handle>; # Grab entire file s/[\r\n]/ /gs; # Remove any carriage returns or newlines s///g; s/\s+/ /g; s///g; s/
/\n/g; s/<\/pre>/\n<\/verbatim>/g; s/<.?ul>//g; s/<.?ol>//g; s/ /\n * /g; s/<.?li>//g; s/(.*?)<\/a>/[[$1][$2]]/g; s/<.?html>//g; s/<.?head>//g; s/<.?font.*?>//g; s/<.?small>//g; # Jeff's additions s/ //g; s/ .*?<\/title>//g; s/<.?body.*?>//g; print;