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
 |