diff options
author | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-01-28 16:36:49 +0000 |
---|---|---|
committer | Fumitoshi UKAI <ukai@debian.or.jp> | 2003-01-28 16:36:49 +0000 |
commit | b701883b2760f6551ed697b46edc2c83836440ec (patch) | |
tree | bbef780c95bd47ab185c4cbae757cb150fd7e5ba /Bonus | |
parent | [w3m-dev 03700] Re: google.cgi (was: Re: keymap key SEARCH string) (diff) | |
download | w3m-b701883b2760f6551ed697b46edc2c83836440ec.tar.gz w3m-b701883b2760f6551ed697b46edc2c83836440ec.zip |
[w3m-dev 03705] goodict.cgi (was: Re: google.cgi (was: Re: keymap key SEARCH string))
* Bonus/goodict.cgi: added
From: NAKAJIMA Mikio <minakaji@osaka.email.ne.jp>
Diffstat (limited to '')
-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..afea7ac --- /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 +# s: file:/cgi-bin/goodict.cgi?%s + +use NKF; +$url = "http://dictionary.goo.ne.jp"; +$_ = $ENV{"QUERY_STRING"}; +if (/^e:/) { + $switch = 0; +} elsif (/^w:/) { + $switch = 1; +} elsif (/^j:/) { + $switch = 2; +} elsif (/^s:/) { + $switch = 3; +} +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 .= "/cgi-bin/dict_search.cgi?MT=$_&sw=$switch"; +} 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 |