#!/usr/bin/perl @W3M = split(' ', 'w3m'); $ENV{'DICT'} = 'dict'; $SCRIPT = 'file:///$LIB/w3mdict2html.cgi'; sub usage { ($_ = $0) =~ s@.*/@@; print STDERR "$_ [-d database] [-s server] ]\n"; print STDERR "$_ [-d database] [-s server]\n"; exit 1; } $query = ""; while (@ARGV) { $_ = shift @ARGV; if (/^-d$/) { @ARGV || &usage(); if (! $query) { $query = "?dict=" . &form_encode(shift @ARGV); } else { $query = "$query&dict=" . &form_encode(shift @ARGV); } } elsif (/^-s$/) { @ARGV || &usage(); if (! $query) { $query = "?server=" . &form_encode(shift @ARGV); } else { $query = "$query&server=" . &form_encode(shift @ARGV); } } elsif (/^-/) { &usage(); } elsif (/^\d/ || $_ eq 'n') { @ARGV || &usage(); if (! query) { $query = "?quit=ok&word=" . &form_encode(shift @ARGV); } else { $query = "$query&word=" . &form_encode(shift @ARGV); } } else { if (! query) { $query = "?quit=ok&word=" . &form_encode($_); } else { $query = "$query&word=" . &form_encode($_); } } } exec @W3M, "$SCRIPT$query"; sub form_encode { local($_) = @_; s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; return $_; }