modified: Bonus/goodict.cgi, update to the current URL

This commit is contained in:
yshl
2015-07-28 21:12:51 +09:00
parent 9a82b18c72
commit 9e6b2e19aa

View File

@@ -1,15 +1,20 @@
#!/usr/bin/perl
# ~/.w3m/urimethodmap
# e: file:/cgi-bin/goodict.cgi?%s
# w: file:/cgi-bin/goodict.cgi?%s
# j: file:/cgi-bin/goodict.cgi?%s
# e: file:/cgi-bin/goodict.cgi?%s Englich-Japanese
# w: file:/cgi-bin/goodict.cgi?%s Japanese-English
# j: file:/cgi-bin/goodict.cgi?%s Japanese
# a: file:/cgi-bin/goodict.cgi?%s All
#
# e:0:word start with word
# e:1:word perfect match
# e:2:word end with word
# e:3:word search body text
# e:6:word search title
# e:word perfect match
use Encode;
use Encode::Guess qw/euc-jp utf8/;
#$mode = 0; # substring
$mode = 1; # perfect match
#$mode = 3; # search body text
$url = "http://dictionary.goo.ne.jp";
$_ = $ENV{"QUERY_STRING"};
if (/^e:/) {
@@ -18,14 +23,22 @@ if (/^e:/) {
$kind = 'je';
} elsif (/^j:/) {
$kind = 'jn';
} elsif (/^a:/) {
$kind = 'all'
}
s@^[ewja]:@@ && s@^//@@ && s@/$@@;
if (/^([01236]):/) {
$mode=$1;
s/^[01236]://;
}else{
$mode="1";
}
s@^[ewjs]:@@ && s@^//@@ && s@/$@@;
if ($_) {
s/\+/ /g;
s/%([\da-f][\da-f])/pack('C', hex($1))/egi;
$_ = encode("utf8", decode("Guess", $_));
s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg;
$url .= "/search.php?MT=$_&kind=$kind&mode=$mode";
$url .= "/srch/$kind/$_/m$mode"."u/";
} else {
$input = "w3m-control: GOTO_LINK";
}