NAME

 KPS9566 - Native Encoding Support by Traditional Scripting

SYNOPSIS

 # encoding: KPS9566
 use KPS9566;
 print "Hello, world wide market!\n";

 # "no KPS9566;" not supported

DESCRIPTION

 The KPS9566 software provides character-oriented Perl environment on the
 native encoding, by traditional scripting that we know.

 - Character oriented regular expression and runtime routines
 - Character oriented KPS9566::* subroutines
     and
 - Byte oriented CORE::* built-in functions
 - Byte oriented regular expression on /b modifier

 Information processing model beginning with Perl3 or this software.

   +--------------------------------------------+
   |    Text string as Digital octet string     |
   |    Digital octet string as Text string     |
   +--------------------------------------------+
   |       Not UTF8 Flagged, No Mojibake        |
   +--------------------------------------------+

 In UNIX Everything is a File
 - In UNIX everything is a stream of bytes
 - In UNIX the filesystem is used as a universal name space

 Native Encoding Scripting
 - native encoding of file contents
 - native encoding of file name on filesystem
 - native encoding of command line
 - native encoding of environment variable
 - native encoding of API
 - native encoding of network packet
 - native encoding of database

SUBROUTINES

 Old Days -- memories are always beautiful.

   Functions of
   Byte and SBCS -- Traditional Perl Script
   -------------
   eval
   length
   substr
   ord
   reverse
   getc
   index
   rindex
   pos
   m//
   s///
   split //
   tr///
   qr//
   -------------

 Today -- some memories are beautiful, others are not.
          (I don't say what are not;)

   Byte Oriented        Character Oriented
   Functions       vs   Subroutines
   -------------        ----------------
   eval            vs   KPS9566::eval
   length          vs   KPS9566::length
   substr          vs   KPS9566::substr
   ord             vs   KPS9566::ord
   reverse         vs   KPS9566::reverse
   getc            vs   KPS9566::getc
   index           vs   KPS9566::index
   rindex          vs   KPS9566::rindex
   pos             vs   (nothing)
   m//b            vs   m//
   s///b           vs   s///
   split //b       vs   split //
   tr///b          vs   tr///
   qr//b           vs   qr//
   -------------        ----------------

                                           ****************
                                           * Casual       *          Traditional
                                           * Scripting    *  nearly  Perl Script
                                           ****************          -----------
                                           * KPS9566::eval   *  is not  eval
                                           * length       *    is    length
                                           * substr       *    is    substr
                                           * ord          *    is    ord
                                           * reverse      *    is    reverse
                                           * getc         *    is    getc
                                           * index        *    is    index
                                           * rindex       *    is    rindex
                                           * pos          *    is    pos
                                           * m//          *    is    m//
                                           * s///         *    is    s///
                                           * split //     *    is    split //
                                           * tr///        *    is    tr///
                                           * qr//         *    is    qr//
                                           ****************          -----------

 - Data typing by switching operators, like traditional Perl style
 - Text data by Character Oriented Subroutines
 - Binary data by Byte Oriented Functions
 - /b modifier was introduced via JPerl
 - Multibyte Character Support by Traditional Scripting, in almost all cases

ENCODING FAMILY

 Arabic, Big5HKSCS, Big5Plus, Cyrillic, EUCJP, EUCTW, GB18030, GBK, Greek,
 HP15, Hebrew, INFORMIXV6ALS, JIS8, KOI8R, KOI8U, KPS9566, Latin1, Latin10,
 Latin2, Latin3, Latin4, Latin5, Latin6, Latin7, Latin8, Latin9, OldUTF8,
 Sjis, TIS620, UHC, USASCII, UTF2, Windows1252, and Windows1258

SUPPORTED OPERATING SYSTEMS

 Apple Mac OS X, HP HP-UX, IBM AIX, Microsoft Windows, Oracle Solaris,
 and Other Systems

SUPPORTED PERL VERSIONS

 perl version 5.005_03 to newest perl

SEE ALSO

 http://search.cpan.org/~ina/
 http://backpan.perl.org/authors/id/I/IN/INA/