#!/usr/local/bin/perl
#use ExtUtils::testlib;
$VERSION = '0.12';

=head1 NAME

cnmap.pl - Traditional <-> Simplified Chinese Converter

=head1 SYNOPSIS

B<cnmap.pl> C<-command> [ I<inputfile> ...] > I<outputfile>

=head1 USAGE

    % cnmap.pl -s2b5 gbk.txt > big5.txt
    % cnmap.pl -s2gb gbk.txt > gb.txt
    % cnmap.pl -t2gb big5.txt > gb.txt
    % cnmap.pl -t2gbk big5.txt big5-2.txt > gbk.txt

=head1 DESCRIPTION

The B<cnmap.pl> utility reads files sequentially, converts them from
Traditional to Simplified Chinese or Simplified to Traditional Chinese
according to command switch, then writes them to the standard output.
The I<inputfile> arguments are processed in command-line order. if
I<inputfile> is a single dash (C<->) or absent, this program reads
from the standard input.

The C<-s2b5> switch: Mixed GB2312/GBK -> Traditional Big5.

The C<-s2gb> switch: Mixed GB2312/GBK -> Simplified GB2312.

The C<-t2gb> switch: Traditional Big5 -> Simplified GB2312.

The C<-t2gbk> switch: Traditional Big5 -> Mixed GBK.

=cut

use strict;
use Getopt::Std;
my %opts;
BEGIN {
    getopts('-helpst2gbk5', \%opts);
    if ($opts{h}) { system("perldoc", $0); exit }
    $SIG{__WARN__} = sub {};
}

use Encode::CNMap;
my $func=*trad_to_gb;
$func=*simp_to_b5 if $opts{5};
$func=*simp_to_gb if $opts{s} and $opts{g};
$func=*trad_to_gbk if $opts{t} and $opts{k};

binmode(STDIN);	binmode(STDOUT);
while (<>) {
	print &$func($_);
}

__END__

=head1 SEE ALSO

L<Encode::CNMap>, L<cnmapdir.pl>, L<Encode::HanConvert>, L<Encode>

=head1 AUTHORS

Qing-Jie Zhou E<lt>qjzhou@hotmail.comE<gt>

=cut