diff options
author | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:05:14 +0000 |
---|---|---|
committer | Tatsuya Kinoshita <tats@vega.ocn.ne.jp> | 2011-05-04 07:05:14 +0000 |
commit | 72f72d64a422d6628c4796f5c0bf2e508f134214 (patch) | |
tree | 0c9ea90cc53310832c977265521fb44db24a515e /Bonus/goodict.cgi | |
parent | Adding upstream version 0.3 (diff) | |
download | w3m-1ef51c20e0ea7b35c8c9cad6f9d9bc1e16664cc5.tar.gz w3m-1ef51c20e0ea7b35c8c9cad6f9d9bc1e16664cc5.zip |
Adding upstream version 0.5.1upstream/0.5.1
Diffstat (limited to 'Bonus/goodict.cgi')
-rwxr-xr-x | Bonus/goodict.cgi | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Bonus/goodict.cgi b/Bonus/goodict.cgi new file mode 100755 index 0000000..8f443c1 --- /dev/null +++ b/Bonus/goodict.cgi @@ -0,0 +1,38 @@ +#!/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 + +use NKF; +#$mode = 0; # substring +$mode = 1; # perfect match +#$mode = 3; # search body text +$url = "http://dictionary.goo.ne.jp"; +$_ = $ENV{"QUERY_STRING"}; +if (/^e:/) { + $kind = 'ej'; +} elsif (/^w:/) { + $kind = 'je'; +} elsif (/^j:/) { + $kind = 'jn'; +} +s@^[ewjs]:@@ && s@^//@@ && s@/$@@; +if ($_) { + s/\+/ /g; + s/%([\da-f][\da-f])/pack('C', hex($1))/egi; + $_ = nkf("-e", $_); + s/[\000-\040\+:#?&%<>"\177-\377]/sprintf('%%%02X', unpack('C', $&))/eg; + $url .= "/search.php?MT=$_&kind=$kind&mode=$mode"; +} else { + $input = "w3m-control: GOTO_LINK"; +} +print <<EOF; +w3m-control: GOTO $url +w3m-control: DELETE_PREVBUF +w3m-control: SEARCH \\[ +w3m-control: MOVE_RIGHT +${input} + +EOF |