また JavaScript か

w3m では Technobahn の記事の続きが読めない。
local-cgi を作ってみた。form タグが閉じてないっぽいので、<body> の手前に <input type="submit"> をくっつけただけです。本当にいい加減ですね。

#!/usr/bin/perl
$type = $ENV{W3M_TYPE};
$charset = $ENV{W3M_CHARSET};
$url = $ENV{W3M_URL};
$file = $ENV{W3M_SOURCEFILE};
$zcat = "/usr/bin/zcat";

-f $file || exit;
$| = 1;
print <<EOF;
Content-Type: $type; charset=$charset

EOF

if ($type =~ /^text\/html/i && $url){
    print "<base href=\"$url\">\n";
}
if ($file =~ /\.gz$/i ){
    open(IN, "$zcat $file |");
}else{
    open(IN, "< $file");
}

while (<IN>){
    if($_ =~ /<\/body>/i){
        print "<input type=\"submit\">";
        print $_;
    }else{
        print $_;
    }
}
close(IN);

追記:Technobahn のソースが変わったっぽいので修正

#!/usr/bin/perl
$type = $ENV{W3M_TYPE};
$charset = $ENV{W3M_CHARSET};
$url = $ENV{W3M_URL};
$file = $ENV{W3M_SOURCEFILE};
$zcat = "/usr/bin/zcat";

-f $file || exit;
$| = 1;
print <<EOF;
Content-Type: $type; charset=$charset

EOF

if ($type =~ /^text\/html/i && $url){
    print "<base href=\"$url\">\n";
}
if ($file =~ /\.gz$/i ){
    open(IN, "$zcat $file |");
}else{
    open(IN, "< $file");
}

while (<IN>){
    if($_ =~ /<form name="myFORM"/i){
        print $_;
        print "<input type=\"submit\">";
    }else{
        print $_;
    }
}
close(IN);