aboutsummaryrefslogtreecommitdiffstats
path: root/Bonus/goodict.cgi
blob: afea7acce5314b86b297a0c5750954d4a273e420 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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