use utf8;
use open qw(:utf8);
use Encode qw(encode_utf8 decode_utf8);
use JSON;
BEGIN {
binmode(STDIN, ":utf8");
binmode(STDOUT, ":utf8");
binmode(STDERR, ":utf8");
# Load the 6-character term table.
open $FH_6, "<", "ITDict_6_ts.json";
binmode($FH_6, ":utf8");
$IT_term_6_ts_ref = decode_json encode_utf8(<$FH_6>);
%IT_term_6_ts = %$IT_term_6_ts_ref;
$check_6 = join "|", keys %IT_term_6_ts;
close $FH_6;
# Load the 5-character term table.
open $FH_5, "<", "ITDict_5_ts.json";
binmode($FH_5, ":utf8");
$IT_term_5_ts_ref = decode_json encode_utf8(<$FH_5>);
%IT_term_5_ts = %$IT_term_5_ts_ref;
$check_5 = join "|", keys %IT_term_5_ts;
close $FH_5;
# Load the 4-character term table.
open $FH_4, "<", "ITDict_4_ts.json";
binmode($FH_4, ":utf8");
$IT_term_4_ts_ref = decode_json encode_utf8(<$FH_4>);
%IT_term_4_ts = %$IT_term_4_ts_ref;
$check_4 = join "|", keys %IT_term_4_ts;
close $FH_4;
# Load the 3-character term table.
open $FH_3, "<", "ITDict_3_ts.json";
binmode($FH_3, ":utf8");
$IT_term_3_ts_ref = decode_json encode_utf8(<$FH_3>);
%IT_term_3_ts = %$IT_term_3_ts_ref;
$check_3 = join "|", keys %IT_term_3_ts;
close $FH_3;
# Load the 2-character term table.
open $FH_2, "<", "ITDict_2_ts.json";
binmode($FH_2, ":utf8");
$IT_term_2_ts_ref = decode_json encode_utf8(<$FH_2>);
%IT_term_2_ts = %$IT_term_2_ts_ref;
$check_2 = join "|", keys %IT_term_2_ts;
close $FH_2;
# Load the character table.
open $FH, "<", "tongwei_ts.json";
binmode($FH, ":utf8");
$tongwei_ts_ref = decode_json encode_utf8(join "", <$FH>);
%tongwei_ts = %$tongwei_ts_ref;
$check = join "|", keys %tongwei_ts;
close $FH;
}
# Decode the input string.
$_ = decode_utf8 $_;
# Perform term-to-term conversion.
s/($check_6)/$IT_term_6_ts{$1}/g;
s/($check_5)/$IT_term_5_ts{$1}/g;
s/($check_4)/$IT_term_4_ts{$1}/g;
s/($check_3)/$IT_term_3_ts{$1}/g;
s/($check_2)/$IT_term_2_ts{$1}/g;
# Perform character-to-character conversion.
s/($check)/$tongwei_ts{$1}/g;
# Encode the output string.
$_ = encode_utf8 $_;
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎