use strict;
use warnings;
-my $esc="\\";
+my $esc = "\\";
+my $ignore = 0;
my @a;
+print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\"\n";
+print " \"http://www.w3.org/TR/html4/strict.dtd\">\n";
+print "<html>\n";
+print "<head>\n";
+
line: while (<>) {
chomp; # strip record separator
- s/([^\\](\\\\)*)\\\".*/$1/g; # strip comments
+ s/((^|[^\\])(\\\\)*)\\\".*/$1/g; # strip comments
@a = req($_);
if (!@a) {
- print htmlify($_), "\n";
+ print htmlify($_), "\n" unless $ignore;
next line;
}
# requests
+ if ($a[1] eq "ig") { $ignore = 1; next line; }
+ if ($ignore) {
+ $ignore = 0 if $a[1] eq "..";
+ next line;
+ }
+
if ($a[1] eq "TH") {
@a = checkarg(2, @a);
$a[3] = htmlify($a[3]);
- print "<title>$a[2] : $a[3]</title><h1>$a[2] : $a[3]</h1>\n";
+ print "<title>$a[2] : $a[3]</title>\n";
+ print "</head>\n";
+ print "<body>\n";
+ print "<h1>$a[2] : $a[3]</h1>\n";
+ print "<p>\n";
next line;
}
@a = checkarg(1, @a);
$a[2] = htmlify($a[2]);
print "<h2>$a[2]</h2>\n";
+ print "<p>\n";
next line;
}
if ($a[1] =~ /NF|nf/i) { printf (("<p><pre>\n")); next line; }
if ($a[1] =~ /FI|fi/i) { printf (("</pre><p>\n")); next line; }
- if ($a[1] eq "s1") { printf (("<hr> \n")); next line; }
+ if ($a[1] eq "s1") { printf (("<hr><p>\n")); next line; }
if ($a[1] eq "br") { printf "<br>\n"; next line; }
if ($a[1] eq "SA") {
# ignore unknown request
}
+print "</body>\n";
+print "</html>\n";
+
sub req {
local ($_) = @_;
- if (/^([\.\'])[ \t]*([^ ]+) *(.*)/) {
+ if (/^([\.\'])[ \t]*([^ ]*) *(.*)/) {
my @a = ($1, $2);
$_ = $3;
- while (/(\"((\\.|[^\\\"])*)(\"|\Z))|(([^ ]|\\.)+) */g) {
+ while (/\G(\"((\\.|[^\\\"])*)(\"|\Z))|\G(([^ ]|\\.)+) */g) {
push(@a, $2 || $5);
}
return @a;