From: imiyazaki Date: Sat, 22 Feb 2003 07:11:44 +0000 (+0000) Subject: created. X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=2c062be5fe264b71576816c0f09c5b5ff7ab0361;p=chise%2Fperl.git created. --- diff --git a/Chise_utils/sample.PL b/Chise_utils/sample.PL new file mode 100644 index 0000000..27d5cf5 --- /dev/null +++ b/Chise_utils/sample.PL @@ -0,0 +1,92 @@ +#!/usr/bin/perl -w + +use Getopt::Long; +use strict; +use vars qw($atr $value $char + $opt_map $opt_mapfrom $opt_mapto + $opt_atr $opt_allatr $opt_showatr + $opt_query + $opt_help + ); +use Chise_utils ':all'; + +my $usage=< | --map | + --mapfrom | + --mapto | + -q | + --show-attribute | + -h | --help | + -a= | + -aa ] + -q + ex. of + total-strokes==8 means + the attribute of total-strokes exactly matches to 8. + ids-parts=~矢 means + the attribute of ids-parts contains the string 矢. + total-strokes==8,ids-parts=~矢 means both at the same time. + -a get of + -aa get all attributes of +EOF + +&GetOptions("mapto=s"=>\$opt_mapto, + "mapfrom=s"=>\$opt_mapfrom, + "m=s"=>\$opt_map, + "a=s"=>\$opt_atr, + "aa"=>\$opt_allatr, + "show-attribute"=>\$opt_showatr, + "q"=>\$opt_query, + "help",\$opt_help, + "h",\$opt_help); + +if($opt_help + or !((($opt_map or $opt_mapfrom or $opt_mapto) and @ARGV==0) + or($opt_showatr and @ARGV==0) + or @ARGV==1 + ) + ){ + print $usage; + exit 1; +}else{ + $char=shift or $char=""; +} + +if($opt_mapfrom){ + $opt_map="<=".$opt_mapfrom; +}elsif($opt_mapto){ + $opt_map="=>".$opt_mapto; +} + +if($opt_map){ + if(defined(%{$chardb{$opt_map}})){ + foreach $char (sort keys %{$chardb{$opt_map}}){ + if($chardb{$opt_map}->{$char}){ + print $char,"\t",$chardb{$opt_map}->{$char},"\n"; + } + } + }else{ + print STDERR "No map for $opt_map.\n"; + } +}elsif($opt_allatr){ + $char=&de_er($char) if($char=~/\d/); + print $char,"\n"; + foreach $atr (sort keys %db){ + if($chardb{$atr}->{"?$char"}){ + print " ",$atr,":",$chardb{$atr}->{"?$char"},"\n"; + } + } +}elsif($opt_atr){ + $char=&de_er($char) if($char=~/\d/); + print $char,"\n"; + print " ",$opt_atr,":",&get_char_attribute($char,$opt_atr),"\n"; +}elsif($opt_showatr){ + foreach $atr (sort keys %db){ + print $atr,"\n"; + } +}elsif($opt_query){ + my $query=$char; + print join "\n",&get_chars_for($query),"\n"; +} + +exit 0;