53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl
 | 
						|
 | 
						|
# ~/.w3m/urimethodmap
 | 
						|
# 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/;
 | 
						|
$url = "http://dictionary.goo.ne.jp";
 | 
						|
$_ = $ENV{"QUERY_STRING"};
 | 
						|
if (/^e:/) {
 | 
						|
    $kind = 'ej';
 | 
						|
} elsif (/^w:/) {
 | 
						|
    $kind = 'je';
 | 
						|
} elsif (/^j:/) {
 | 
						|
    $kind = 'jn';
 | 
						|
} elsif (/^a:/) {
 | 
						|
    $kind = 'all'
 | 
						|
}
 | 
						|
s@^[ewja]:@@ && s@^//@@ && s@/$@@;
 | 
						|
if (/^([01236]):/) {
 | 
						|
    $mode=$1;
 | 
						|
    s/^[01236]://;
 | 
						|
}else{
 | 
						|
    $mode="1";
 | 
						|
}
 | 
						|
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 .= "/srch/$kind/$_/m$mode"."u/";
 | 
						|
} 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
 |