diff options
Diffstat (limited to '')
| -rwxr-xr-x | Bonus/goodict.cgi | 29 | 
1 files changed, 21 insertions, 8 deletions
| diff --git a/Bonus/goodict.cgi b/Bonus/goodict.cgi index 5106c89..5fb6581 100755 --- a/Bonus/goodict.cgi +++ b/Bonus/goodict.cgi @@ -1,15 +1,20 @@  #!/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 +# 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/; -#$mode = 0; # substring -$mode = 1;  # perfect match -#$mode = 3; # search body text  $url = "http://dictionary.goo.ne.jp";  $_ = $ENV{"QUERY_STRING"};  if (/^e:/) { @@ -18,14 +23,22 @@ if (/^e:/) {      $kind = 'je';  } elsif (/^j:/) {      $kind = 'jn'; +} elsif (/^a:/) { +    $kind = 'all' +} +s@^[ewja]:@@ && s@^//@@ && s@/$@@; +if (/^([01236]):/) { +    $mode=$1; +    s/^[01236]://; +}else{ +    $mode="1";  } -s@^[ewjs]:@@ && s@^//@@ && s@/$@@;  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 .= "/search.php?MT=$_&kind=$kind&mode=$mode"; +	$url .= "/srch/$kind/$_/m$mode"."u/";  } else {  	$input = "w3m-control: GOTO_LINK";  } | 
