Revision history for this software. 0.91 2013/07/07 00:00:00 - improve split() for over 32766 octet string. - add short README. - use Esjis ver.sion; --> use Esjis ver.sion.0; - undo BEGIN { unshift @INC, '/Perl/site/lib/Sjis'; } in Esjis.pm. ; created by INABA Hitoshi 0.90 2013/06/08 00:00:00 - support Perl 5.18.0. - support StrawberryPerl 5.18.0. - \s in a regex matches a vertical tab on perl 5.18.0 or later. - support lvalue Sjis::substr(). - follow File::HomeDir 1.00. - support DWIM Perl. - add dperl.bat. ; created by INABA Hitoshi 0.89 2013/05/12 00:00:00 - cancel improving multi-byte anchoring for over 32766 octet string on perl 5.10.0. - add perl518.bat, perl64518.bat, aperl518.bat, aperl64518.bat, sperl518.bat, and sperl64518.bat. - support Cygwin's Perl. - add cperl.bat. ; created by INABA Hitoshi 0.88 2013/05/01 00:00:00 - improve multi-byte anchoring for over 32766 octet string. - remove multi-byte anchoring of UTF2 and OldUTF8. - support ActivePerl 5.16.3. - support ActivePerl 5.14.4. - fix errata. ; created by INABA Hitoshi 0.87 2013/03/22 00:00:00 - support Strawberry Perl 5.16.3. - support Perl 5.16.3. - support Strawberry Perl 5.14.4. - support Perl 5.14.4. - fix errata. - remove module (Win32.pm). ; created by INABA Hitoshi 0.86 2013/01/27 00:00:00 - fix Sjis::getc(BAREWORD). ; created by INABA Hitoshi 0.85 2013/01/13 00:00:00 - support Microsoft Windows 95. - support Microsoft Windows NT 4.0. - support KPS 9566. - support Sjis::getc(). ; created by INABA Hitoshi 0.84 2012/11/19 00:00:00 - support Strawberry Perl 5.16.2. - support Perl 5.16.2. - delete escape-characters of run-time command. - have to use both two-argument and three-argument open(). - support Microsoft Windows 8 Pro (x64). - support PowerShell 3.0 ; created by INABA Hitoshi 0.83 2012/09/29 00:00:00 - support Strawberry Perl 5.16.1. - support ActivePerl 5.16.1. - support x64 of ActivePerl and Strawberry Perl. - new ver.sion.0 check (match or die). - fix $_ !~ s/regexp/replacement/. - remove ESCAPE_SECOND_OCTET on single byte encoding. - escape left brace on un-escaping of \N{...}, \p{...}, and \P{...}. - remove "distribution_type: script" from META.yml. - add perl64512.bat, perl64514.bat, perl64516.bat, aperl64512.bat, aperl64514.bat, aperl64516.bat, sperl64512.bat, sperl64514.bat, and sperl64516.bat. ; created by INABA Hitoshi 0.82 2012/07/29 00:00:00 - support Strawberry Perl 5.16.0. - support ActivePerl 5.16.0. - support variables in character class in regular expression. ; created by INABA Hitoshi 0.81 2012/05/25 00:00:00 - support fold case escape \F and function fc(). - support scalar context of Esjis::stat, Esjis::stat_, Esjis::lstat, and Esjis::lstat_. - support Strawberry Perl 5.8, 5.10, 5.12, and 5.14. - become independent of strict.pm. - add feature.pm. - add perl5.bat. - add aperl58.bat, aperl510.bat, aperl512.bat, aperl514.bat, and aperl516.bat. - add sperl58.bat, sperl510.bat, sperl512.bat, sperl514.bat, and sperl516.bat. - fix dummy access (-T and -B for underline cache) in Esjis::T, Esjis::T_, Esjis::B, and Esjis::B_. - fix $dbh->Esjis::do to $dbh->do on DBI. - fix Esjis::split(/(-)|(,)/,"1-10,20") --> (1,"-",undef,10,undef,",",20). - fix "\v" means "\x0A", "\x0B", "\x0C", and "\x0D". - remove './' at head of return value from Esjis::glob and Esjis::glob_. ; created by INABA Hitoshi 0.80 2012/03/22 00:00:00 - support byte-oriented regexp //b, m//b, m''b, s///b, s'''b, qr//b, qr''b, split(//b), split(m//b), split(m''b), split(qr//b) and split(qr''b). - support match once only ??, m??, ??b and m??b. - support literal null string pattern. - support $`, $PREMATCH, ${^PREMATCH}, $&, $MATCH, ${^MATCH}, &', $POSTMATCH and ${^POSTMATCH}. - add perl516.bat. ; created by INABA Hitoshi 0.79 2011/12/23 00:00:00 - fix m/[[:lower:]]/i, m/[[:upper:]]/i, m/[[:^lower:]]/i and m/[[:^upper:]]/i. ; created by INABA Hitoshi 0.78 2011/10/28 00:00:00 - support Windows-1258. - update documents and URL. ; created by INABA Hitoshi 0.77 2011/07/27 00:00:00 - support KOI8-R, KOI8-U, US-ASCII. ; created by INABA Hitoshi 0.76 2011/06/30 00:00:00 - import $fix_drive_relative_paths from File::DosGlob/1.04. - support regexp metasymbols \C and \R in regexp. - support regexp metasymbol \N \N{3} \N{3,} \N{3,5}. - \N{CHARNAME} means literal N{CHARNAME}. - \p{PROP} means literal p{PROP}. - \P{PROP} means literal P{PROP}. - \X means literal X. - support POSIX-style character classes. - modifier /a /d /l /u and /aa of regexp makes die. - use 5.12.0; --> use 5.12.0; no strict qw(refs); - remove test 201_kanji.t,202_kanji.t,203_kanji.t,204_kanji.t,205_glob.t,210_chmod.t,211_chown.t,212_dbmopen.t,214_glob.t,216_open.t,217_qx.t,218_rename.t,221_sysopen.t,222_system.t,223_truncate.t,225_utime.t,226_chdir.t,227_chmod.t,228_chown.t,229_glob.t,230_mkdir.t,232_qx.t,233_rename.t,234_rmdir.t,235_system.t and 236_utime.t from EUCJP,UTF2,OldUTF8. ; created by INABA Hitoshi 0.75 2011/06/05 00:00:00 - remove Esjis::binmode and Esjis::open (it's a bad idea). ; created by INABA Hitoshi 0.74 2011/06/01 00:00:00 - remove Esjis::k_ test. - fix s#foo#\\#, s#foo#\\#g, s'foo'\\' and s'foo'\\'g. ; created by INABA Hitoshi 0.73 2011/05/12 00:00:00 - hexadecimal escape sequence, \x{HHHHHH} in double-quote-like contexts. - octal escape sequence, \o{OOOOOO} in double-quote-like contexts. - support tr///r, y///r. - support s///r. - rewrite 'use strict;' to 'use strict; no strict qw(refs);'. - fix m/$var/i: m/[$VAR$var]/ to m/@{[Esjis::ignorecase($var)]}/. - fix s//code/e, s//code/ee, s//code/eee, ... - support Windows-1252. - PASS all tests on perl 5.00503 of Solaris8. - PASS all tests on perl 5.00503 of TURBOLINUX WORKSTATION Japanese 6.0 Limited Edition. ; created by INABA Hitoshi 0.72 2011/03/04 00:00:00 - change name Sjis to Char::Sjis. - support Latin-2, Latin-3, Latin-4, Latin-5, Latin-6, Latin-7, Latin-8, Latin-9. - support Cyrillic, Greek. - add perl514.bat. ; created by INABA Hitoshi 0.71 2011/01/26 00:00:00 - support @homepage environment of @nifty. (Debugging ended thanks to valuable cooperation of jscripter) ; created by INABA Hitoshi 0.70 2011/01/14 00:00:00 - remove multibyte anchoring of UTF2 and OldUTF8. - propagate @INC by -I switch from script.pl to script.pl.e. - propagate $^W by -w switch from script.pl to script.pl.e. - support chdir(\x5c ends path) by perl5.006 or perl5.00800 on MSWin32(jacode.pl library required). - support chdir(\x5c ends long path) by perl5.008001 or later, perl5.010 or perl5.012 on MSWin32(Win32 module required). - support GBK. - bundle strict.pm_ as dummy strict.pm. - add perl55.bat and perl56.bat. ; created by INABA Hitoshi 0.69 2010/12/21 00:00:00 - support MacOS by Sjis software. - correct open mode before flock(). ; beside "escape" by Delight Prescott of MacPerl Power and Ease 0.68 2010/11/09 00:00:00 - re-correct 244_3open.t and 245_2binmode.t. ; created by INABA Hitoshi 0.67 2010/11/08 00:00:00 - correct 244_3open.t and 245_2binmode.t. ; created by INABA Hitoshi 0.66 2010/11/07 00:00:00 - emulate two-argument binmode() on perl5.005. - emulate three-argument open() on perl5.005. - dummy functions of utf8.pm and bytes.pm. - correct write locking routine. - bundle warnings.pm_ and warnings/register.pm_. ; created by INABA Hitoshi 0.65 2010/09/16 00:00:00 - check code page on DOS-like system before test. ; created by INABA Hitoshi 0.64 2010/09/14 00:00:00 - support SjisTk module. - support \l, \u, lcfirst and ucfirst. - add test of Latin1. ; created by INABA Hitoshi 0.63 2010/07/04 00:00:00 - add test of Big5Plus, Big5HKSCS, GB18030 and UHC. ; created by INABA Hitoshi 0.62 2010/07/03 00:00:00 - redefine \b and \B. ; created by INABA Hitoshi 0.61 2010/06/27 00:00:00 - fix OldUTF8. - initialize tr variables on demand. - fix Esjis::lc and Esjis::uc's bug. ; created by INABA Hitoshi 0.60 2010/06/16 00:00:00 - back *.pm files from /lib. ; created by INABA Hitoshi 0.59 2010/06/14 00:00:00 - move *.pm files to /lib. - fix Makefile.PL. - fix m/[$@]/ to m/[\$\@]/. - add HP15 and INFORMIXV6ALS test. - support Big5-HKSCS. ; created by INABA Hitoshi 0.58 2010/06/07 00:00:00 - fix escapeshellcmd. ; created by INABA Hitoshi 0.57 2010/06/02 00:00:00 - do BEGIN { unshift @INC, '/Perl/site/lib/Sjis'; } in Esjis.pm. - support 'no Module'. - remove special routine of Tk module. - test does only one version of perl. - support TAP(Test Anything Protocol). - add ShiftJIS::Regexp's test. - rename Makefile.PL to pMakefile.PL(Poor Makefile.PL) for DOS like system. - standard Makefile.PL for UNIX like system. - warn if chdir "\x5c" ended path on $^W is true. ; created by INABA Hitoshi 0.56 2010/04/21 00:00:00 - add JPerl's test. - fix [^]] in regexp from <'^' then ']'> to . - [] in regexp make die "unmatched [] in regexp at ...". - support \b and \B in regexp. ; created by INABA Hitoshi 0.55 2010/04/16 00:00:00 - test.pl support perl5.012. - support when as a statement modifier. - support := operator. ; created by INABA Hitoshi 0.54 2010/04/02 00:00:00 - fix /i modifier with character class '[ccc]' in regexp. - support old UTF-8. ; created by INABA Hitoshi 0.53 2010/04/01 00:00:00 - support Latin-1. ; created by INABA Hitoshi 0.52 2010/03/17 00:00:00 - bugfix ${ foo } in regexp. - remove modules (re.pm, Fcntl.pm and Symbol.pm). - call flock in Esjis::do and Esjis::require. - add perl64.bat. - Makefile.pl support UNIX like system. ; created by INABA Hitoshi 0.51 2010/03/07 00:00:00 - remove ** UNAUTHORIZED RELEASE ** modules (Fcntl.pm and Symbol.pm). ; created by INABA Hitoshi 0.50 2010/03/07 00:00:00 - correct INFOMIXV6ALS to INFORMIXV6ALS (sorry!! forgive me!! ;X). - add UNIX like system's shell escape. - glob @ARGV when [?*] included only. - avoid warning in Esjis::e. - flock on write and read script. - add substitute modules (Fcntl.pm and Symbol.pm). - remove modules (Carp.pm and FindBin.pm). ; created by INABA Hitoshi 0.49 2010/02/10 00:00:00 - add perl512.bat - redefined character class \d \s \w for perl 5.11 or later. - fix test.pl and comment of BUGS AND LIMITATIONS about /o modifier. ; created by INABA Hitoshi 0.48 2010/01/28 00:00:00 - Call Module->import() when Module->can('import') is true only. - No escape when require jcode.pl and jacode.pl. - Remove limitation of two or more here-documents in a line. ; created by INABA Hitoshi 0.47 2010/01/02 00:00:00 - shorten script of EUCJP.pm and UTF2.pm. - glob always function as File::DosGlob::glob. - ignore use module File::DosGlob, Wildcard, Japanese and JExt. ; created by INABA Hitoshi 0.46 2009/12/02 00:00:00 - fix bug of split q//. ; created by INABA Hitoshi 0.45 2009/11/30 00:00:00 - fix bug of Esjis::split when string is empty. ; created by INABA Hitoshi 0.44 2009/11/16 00:00:00 - support given and when keywords. - support \gN, \g{N} and \g{-N} in s///. - support stacked filetest operators. ; created by INABA Hitoshi 0.43 2009/10/12 00:00:00 - support UTF-2 (aka UTF-8). - fix bug of join separated multiple octet of EUCJP, INFOMIXV6ALS and GB18030. ; created by INABA Hitoshi 0.42 2009/09/28 00:00:00 - rewrite split(m/^/) to split(m/^/m) on any version of perl. - fix bug of function Sjis::substr(). ; created by INABA Hitoshi 0.41 2009/09/18 00:00:00 - add test script. - rename Esjis::ord() to Sjis::ord(). - rename Esjis::reverse() to Sjis::reverse(). - remove Esjis::shift_matched_var(). - add Esjis::capture(). - support !~ tr///. - support s///g. - support \h and \v. ; created by INABA Hitoshi 0.40 2009/08/27 00:00:00 - support INFOMIX V6 ALS, GB18030, EUC-JP. ; created by INABA Hitoshi 0.39 2009/08/06 00:00:00 - support Sjis::length, Sjis::substr, Sjis::index and Sjis::rindex. ; created by INABA Hitoshi 0.38 2009/08/05 00:00:00 - improve qw. - filetest operator before parenthesis '-X ('. - escape sequence of hexadecimal number of one digit. - fix bugs of function charlist_not_qr. ; created by INABA Hitoshi 0.37 2009/07/09 00:00:00 - separate Tk modules, make-*.pl and test scripts. - remove perl55.bat and perl56.bat. ; created by INABA Hitoshi 0.36 2009/05/17 00:00:00 - do local $@ before eval. - support Tk::getOpenFile and Tk::getSaveFile. - rewrite in pure batch file perl55.bat, perl56.bat, perl58.bat and perl510.bat. - fixing world writable files in tarball before upload to CPAN [ #38127 ]. ; created by INABA Hitoshi 0.35 2009/05/06 00:00:00 - support do, require and use for user library. - upper compatible function ord and reverse functions only when demanded. - support p modifier of m//, s/// and qr// of perl5.10. - support !~~ operator. - change to secure code, open() to sysopen(). - change to secure code, undef %ENV before system(). - add make-hp15.pl(HP-15 Hewlett-Packard developed). ; created by INABA Hitoshi 0.34 2009/04/01 00:00:00 - memorial version on birth day. - Sjis::Tk::* modules pre alpha support. ; created by INABA Hitoshi 0.33 2009/02/15 00:00:00 - add script perl56.bat. - use Tk --> use Sjis::Tk alpha support. ; created by INABA Hitoshi 0.32 2009/02/03 00:00:00 - add script perl55.bat. - wildcard globbing of @ARGV on command.com or cmd.exe. - support chr(0x5C) ended path of do '', do "", require '' and require "" on MSWin32. - chdir croak when dirname ends chr(0x5C) on MSWin32. ; created by INABA Hitoshi 0.31 2009/01/29 00:00:00 - create test data file on execute test.pl. - require run-time module version. - rewrite all about "split" logic. ; created by INABA Hitoshi 0.30 2009/01/04 00:00:00 - support context when calling lc(), lc, uc(), uc. - support chr(0x5C) ended path on MSWin32. - file test operators. - functions lstat(), opendir(), stat() and unlink(). - glob() and . - remove pl2ebat.bat, jperl55.bat, jperl58.bat and jperl510.bat. - merge esjis.pl into Sjis.pm. - matched variables $1,$2,$3,... after s/// came to function as it was a description. - support function of chr, ord and reverse again. - add test filetest, pathdir, pathfile and perlmemo. ; created at kanmi-kissa Hahaso in Chichibu. 0.29 2008/11/20 00:00:00 - remove \G from $your_gap ; created by INABA Hitoshi 0.28 2008/09/05 00:00:00 - upgrade Makefile.PL - fix backslashed hexadecimal character escapes. - fix backslashed octal character escapes. - cancel upper compatible function of chr, ord and reverse to backward compatibility. - $1,$2,$3... of s/// in script means $2,$3,$4... ; created by INABA Hitoshi 0.27 2008/08/28 00:00:00 - change tr output ex. (my $aaa = $bbb) =~ tr/XYZ/xyz/; before: (my $aaa = $bbb), Esjis::tr($bbb,'XYZ','xyz',''); after: Esjis::tr((my $aaa = $bbb),'XYZ','xyz',''); ; created by INABA Hitoshi 0.26 2008/08/27 00:00:00 - fix errata. ; created by INABA Hitoshi 0.25 2008/08/25 00:00:00 - add Big5Plus, GBK and UHC support. ; created by INABA Hitoshi 0.24 2008/08/18 00:00:00 - cancel \x{HHHH} syntax support in qq, m, s and qr. - escape second octet | of double octet in qq and "" for open() and system(). - support \1,\2,\3 syntax of s/// and s'''. - add Japanese document. ; created by INABA Hitoshi 0.23 2008/08/11 00:00:00 - escape second octet ^ of double octet code in m, s and qr. - remove brace of \x{HHHH} in qq, m, s and qr. ; created at cafe mocca in Nagareyama-Otakanomori S.C. 0.22 2008/08/05 00:00:00 - support bareword tr, index, rindex and reverse. - avoid "Error: Runtime Exception" of q, qq, '', "" and ``. - remove below bugs. - escape second octet of double octet code at last q / / string. - escape second octet \ of double octet code before \ in q / / string. - / means m / / after print operator. - m * * rewrite to m { }. - m - - rewrite to m { }. - m : : rewrite to m { }. - m ? ? rewrite to m { }. - m \ \ rewrite to m { }. - m ^ ^ rewrite to m { }. - m | | rewrite to m { }. - s * * * rewrite to s { } { }. - s - - - rewrite to s { } { }. - s : : : rewrite to s { } { }. - s ? ? ? rewrite to s { } { }. - s \ \ \ rewrite to s { } { }. - s ^ ^ ^ rewrite to s { } { }. - s | | | rewrite to s { } { }. - qr * * rewrite to qr { }. - qr - - rewrite to qr { }. - qr : : rewrite to qr { }. - qr ? ? rewrite to qr { }. - qr \ \ rewrite to qr { }. - qr ^ ^ rewrite to qr { }. - qr | | rewrite to qr { }. ; created by INABA Hitoshi 0.21 2008/07/22 00:00:00 - add smoke test script. - remove below bugs. - remove return $ope of function &e_s2_q. - remove parameter $ope of function &e_s2 and &e_s2_q. - add q operator to parameter of function &e_tr_q when delimiter is '/' or '#'. - add \c@ .. \c_ to $qq_char, $qq_paren, $qq_brace, $qq_bracket and $qq_angle. - remove unescape and re-escape logic from function &e_m, &e_s1 and &e_qr. - any characters meaning .*? in qw { } and qw [ ] to (?:$q_char)*?. - change \s* to \s+ of between split and m. ; created by INABA Hitoshi 0.20 2008/07/14 00:00:00 - disable below. - delimiter tr''(), tr''{}, tr''[] and tr''<> of tr///. - delimiter y''(), y''{}, y''[] and y''<> of y///. - delimiter s''(), s''{}, s''[] and s''<> of s///. - limit modifier. - only c, d, s, b and B of tr///. - only c, d, s, b and B of y///. - only c, g, i, m, o, s and x of m//. - only c, g, i, m, o, s and x of //. - only i, m, s, o and x of qr//. - only e, g, i, m, o, s and x of s///. - change new line code to LF. - more comment. ; created by INABA Hitoshi 0.19 2008/07/03 00:00:00 - add code for perl5.10; created by INABA Hitoshi 0.18 2008/05/11 00:00:00 - tr///B support; created by INABA Hitoshi 0.17 2008/05/10 00:00:00 - correct the document; created by INABA Hitoshi 0.16 2008/05/09 12:00:00 - separate run-time routines Esjis.pm, add Sjis.pm; created by INABA Hitoshi 0.15 2008/05/07 00:00:00 - remove some limitations; created at COUNTRY FARM CAFE in Ueno 0.14 2008/05/06 00:00:00 - remove many bugs and add jperl58.bat, perl58.bat; created at Cafe CORONA in Akihabara 0.13 2008/04/30 00:00:00 - remove some limitations and many bugs; created by INABA Hitoshi 0.12 2008/04/27 00:00:00 - rename Sjis to esjis, remove some limitations; created by INABA Hitoshi 0.11 2008/04/22 00:00:00 - compiler version for perl5.5 and perl5.10; created by INABA Hitoshi 0.10 2008/04/01 00:00:00 - original version; created by INABA Hitoshi