
=pod

=encoding Shift_JIS

=head1 NAME

ShiftJIS::String - Shift-JIS 񑀍֐

=head1 Tv

  use ShiftJIS::String;

  ShiftJIS::String::substr($str, ShiftJIS::String::index($str, $substr));

=head1 PODɂ

POD́AShift-JISŏĂ܂B

'C<>'  C<HIRAGANA LETTER A> Ɍ܂ ?
܂A'C<\>'  C<REVERSE SOLIDUS> ł͂Ȃ C<YEN SIGN> Ɍ܂ ?
Ȃ΃tHg𐳂̂Ɍ悢ł傤B
(邢 POD ςȕϊꂽ̂m܂B)

=head1 ڍ

̃W[́AShift-JIS ̂̕ɗLpł낤
gݍ݊֐ɗގ֐񋟂܂B

=head1 ֐

=head2 񂪐ǂ̊mF

=over 4

=item C<issjis(LIST)>

XĝׂĂ̕ Shift-JIS ƂĐۂ̐^UlԂ܂B

C<LIST> ȏ̕sȕ܂łꍇAUԂ܂B

=back

=head2 ̒

=over 4

=item C<length(STRING)>

Pʂ̒Ԃ܂B

=back

=head2 t

=over 4

=item C<strrev(STRING)>

tɂȂԂ܂B

=back

=head2 

=over 4

=item C<index(STRING, SUBSTR)>

=item C<index(STRING, SUBSTR, POSITION)>

C<POSITION> ̈ʒu܂͂ȍ~ŁAC<STRING>A
C<SUBSTR> ̍ŏ̏oʒuԂ܂B

C<POSITION> ȗꍇ́A̐擪T܂B

񂪌Ȃ C<-1> Ԃ܂B

=item C<rindex(STRING, SUBSTR)>

=item C<rindex(STRING, SUBSTR, POSITION)>

C<STRING> AC<SUBSTR> ̍Ō̏oʒuԂ܂B
C<POSITION> ߂͂̈ʒu܂͂ȑOōŌ̏oʒuԂ܂B

񂪌Ȃ C<-1> Ԃ܂B

=item C<strspn(STRING, SEARCHLIST)>

C<SEARCHLIST> Ɋ܂܂ȂCӂ̍̕ŏ̏oʒuԂ܂B

C<STRING>  C<SEARCHLIST> ݂̂̕Ȃꍇ́A
Ԃl C<STRING> ̒ɓȂ܂B

C<SEARCHLIST> ɒڕ͈͂gƂ͂ł܂񂪁A
֐ C<mkrange()> 𗘗płł傤B

  strspn("+0.12345*12", "+-.0123456789");
  # 8 Ԃi'*' ̈ʒuj

=item C<strcspn(STRING, SEARCHLIST)>

C<SEARCHLIST> Ɋ܂܂Cӂ̍̕ŏ̏oʒuԂ܂B

C<STRING>  C<SEARCHLIST> ̂ǂ̕܂܂Ȃꍇ́A
Ԃl C<STRING> ̒ɓȂ܂B

C<SEARCHLIST> ɒڕ͈͂gƂ͂ł܂񂪁A
֐ C<mkrange()> 𗘗płł傤B

  strcspn("Perl͖ʔB", "Ԑ");
  # 6 Ԃi'' ̈ʒuj

=item C<rspan(STRING, SEARCHLIST)>

C<SEARCHLIST> Ɋ܂܂ȂCӂ̍̕Ō̏oʒu𒲂ׂ܂B

̂悤ȕꍇɂ́A̎̈̕ʒuԂ܂B
Ȃ΁iC<STRING> ׂ̂Ă̕ C<SEARCHLIST> Ɋ܂܂ꍇ)A
̍ŏ̈ʒuƂāAC<0> Ԃ܂B

C<SEARCHLIST> ɒڕ͈͂gƂ͂ł܂񂪁A
֐ C<mkrange()> 𗘗płł傤B

  rspan('{OPQRSTUVWX{I', '{I');
  # 11 Ԃi'X' ̎ '' ̈ʒuj

=item C<rcspan(STRING, SEARCHLIST)>

C<SEARCHLIST> Ɋ܂܂Cӂ̍̕Ō̏oʒu𒲂ׂ܂B

̂悤ȕꍇɂ́A̎̈̕ʒuԂ܂B
Ȃ΁iC<STRING> ̂ǂ̕ C<SEARCHLIST> Ɋ܂܂Ȃꍇ)A
̍ŏ̈ʒuƂāAC<0> Ԃ܂B

C<SEARCHLIST> ɒڕ͈͂gƂ͂ł܂񂪁A
֐ C<mkrange()> 𗘗płł傤B

  rcspan("Perl͖ʔB", "Ԑ");
  # 7 Ԃi'' ̎ '' ̈ʒuj

  rcspan('ABCXYZ', "");
  # 6 Ԃi'' ̎ 'X' ̈ʒuj

=back

=head2 ̑O̗]ȕ̏

=over 4

=item C<trim(STRING)>

=item C<trim(STRING, SEARCHLIST)>

=item C<trim(STRING, SEARCHLIST, USE_COMPLEMENT)>

C<STRING> ̐擪іAC<SEARCHLIST> Ɋ܂܂镶
̌ʂԂ܂B
AC<USE_COMPLEMENT> ɐ^̒l^ꍇAtɁA
C<SEARCHLIST> B<܂܂Ȃ>܂B

C<SEARCHLIST> ȗꍇi܂͖`l̏ꍇjA
C<SEARCHLIST> ƂāAȉ̋󔒗ޕ̃Xgp܂B
Ȃ킿AC<"\t">, C<"\n">, C<"\r">, C<"\f">, C<"\x20">i󔒁j,
 C<"\x81\x40">iaԊujB

C<SEARCHLIST> ɒڕ͈͂gƂ͂ł܂񂪁A
C<trim($string, mkrange("\x00-\x20"))> ̂悤
֐ C<mkrange()> 𗘗płł傤B

=item C<ltrim(STRING)>

=item C<ltrim(STRING, SEARCHLIST)>

=item C<ltrim(STRING, SEARCHLIST, USE_COMPLEMENT)>

C<STRING> ̐擪AC<SEARCHLIST> Ɋ܂܂镶
̌ʂԂ܂B
AC<USE_COMPLEMENT> ɐ^̒l^ꍇAtɁA
C<SEARCHLIST> B<܂܂Ȃ>܂B

C<SEARCHLIST> ɒڕ͈͂gƂ͂ł܂񂪁A
֐ C<mkrange()> 𗘗płł傤B

=item C<rtrim(STRING)>

=item C<rtrim(STRING, SEARCHLIST)>

=item C<rtrim(STRING, SEARCHLIST, USE_COMPLEMENT)>

C<STRING> ̖AC<SEARCHLIST> Ɋ܂܂镶
̌ʂԂ܂B
AC<USE_COMPLEMENT> ɐ^̒l^ꍇAtɁA
C<SEARCHLIST> B<܂܂Ȃ>܂B

C<SEARCHLIST> ɒڕ͈͂gƂ͂ł܂񂪁A
֐ C<mkrange()> 𗘗płł傤B

=back

=head2 

=over 4

=item C<substr(STRING or SCALAR REF, OFFSET)>

=item C<substr(STRING or SCALAR REF, OFFSET, LENGTH)>

=item C<substr(SCALAR, OFFSET, LENGTH, REPLACEMENT)>

gݍ݂ C<substr> Ɠlł Shift-JIS ɑ΂ē܂B

SƂ C<REPLACEMENT> nꍇ́A
C<SCALAR> ̂̕uāǍ̕̕Ԃ܂B

ȉ̂悤ɁAPɃXJ[ϐւ̃t@XgƁA
Ӓlt@X𗘗p邱Ƃł܂B

    ${ &substr(\$str,$off,$len) } = $replace;

        ́ACORE 

    CORE::substr($str,$off,$len) = $replace;

        ̂悤ɓ܂B

Ԃl̍ӒĺiPerlgݍ݂̋@\ɂ镔񂻂̂܂܂
ȂĂ܂AjShift-JISɑΉĂ܂B]āA
Qxڂ̑ύXł͊Ғʂ̌ʂɂȂȂ\܂B

悭킩Ȃ΁AƂɂ̑OɍӒl擾̂悢ł傤B

    $str = "0123456789";
    $lval  = &substr(\$str,3,1);
    $$lval = "";
    $lval  = &substr(\$str,3,1); # xӒl擾B
    $$lval = "a";
    # $str is "012a456789".

=back

=head2 

=over 4

=item C<strsplit(SEPARATOR, STRING)>

=item C<strsplit(SEPARATOR, STRING, LIMIT)>

̊֐͑gݍ݂ C<split> ̂悤ɓ܂AK\ł͂ȂāA
C<SEPARATOR> ɂ镪s܂B
XgReLXgȊOł́AtB[h̐Ԃ݂̂łB
ʂ C<@_> zɊi[܂B

  strsplit('||', '||||psvy|||01234||');
  # ('', '', 'psvy|', '01234')

  strsplit('^', 'Perl^pk^Camel');
  # ('Perl', 'pk', 'Camel')

C<SEPARATOR> Ƃċ󕶎pꍇ́Aɕ܂B
(C<CORE::split //, STRING, LIMIT> ƓlB)

  strsplit('', 'This is Perl.', 7);
  # ('T', 'h', 'i', 's', ' ', 'i',  's Perl.')

C<SEPARATOR> ƂĖ`lpꍇ́A
󔒗ޕiaԊu܂ށjŕ܂B
擪瑱󔒗ޕ́AtB[h܂B
(C<CORE::split ' ', STRING, LIMIT> ƓlB)

  strsplit(undef, ' @ This  is @ Perl.');
  # ('This', 'is', 'Perl.')

=back

=head2 r

=over 4

=item C<strcmp(LEFT-STRING, RIGHT-STRING)>

ԂĺAC<1> (C<LEFT-STRING>  C<RIGHT-STRING> 傫)
 C<0> (C<LEFT-STRING>  C<RIGHT-STRING> ɓ)
 C<-1> (C<LEFT-STRING>  C<RIGHT-STRING> 菬) ɂȂ܂B

͑܂ɌāÃXgɎ悤ɂȂ܂B

    JIS X 0201 eCJIS X 0201 ЉCJIS X 0208  (Sp)B

Ⴆ΁A
C<0x41> (C<'A'>)  C<0xB1> (C<''>) 菬B
C<0xB1> (C<''>)  C<0x8341> (C<'A'>) 菬B
C<0x8341> (C<'A'>)  C<0x8383> (C<''>) 菬B
C<0x8383> (C<''>)  C<0x83B1> (C<'' MVA啶^E>) 菬B

B<!>
Ƒl̔r킩悤ɁA
oCg C<"\xB1"> ͑oCgƂĂ C<"\x83"> 菬A
oCgƂĂ͑傫Ȃ܂B
ȒPɌ΃oCir Shift-JIS ł͂܂܂B

=item C<strEQ(LEFT-STRING, RIGHT-STRING)>

C<LEFT-STRING>  C<RIGHT-STRING> ɓǂ̐^UlԂ܂B

B<:> C<strEQ> ͑gݍ݂ C<eq> ZqƓłB

=item C<strNE(LEFT-STRING, RIGHT-STRING)>

C<LEFT-STRING>  C<RIGHT-STRING> ɓȂǂ̐^UlԂ܂B

B<:> C<strNE> ͑gݍ݂ C<ne> ZqƓłB

=item C<strLT(LEFT-STRING, RIGHT-STRING)>

C<LEFT-STRING>  C<RIGHT-STRING> 菬ǂ̐^UlԂ܂B

=item C<strLE(LEFT-STRING, RIGHT-STRING)>

C<LEFT-STRING>  C<RIGHT-STRING> 菬܂͓
ǂ̐^UlԂ܂B

=item C<strGT(LEFT-STRING, RIGHT-STRING)>

C<LEFT-STRING>  C<RIGHT-STRING> 傫ǂ̐^UlԂ܂B

=item C<strGE(LEFT-STRING, RIGHT-STRING)>

C<LEFT-STRING>  C<RIGHT-STRING> 傫܂͓
ǂ̐^UlԂ܂B

=item C<strxfrm(STRING)>

gݍ݂ C<cmp> ZqŃoCirs悤
ɕϊ̂Ԃ܂B
iC ̓֐ƈقȂAϊ̒̕Ԃ̂ł͂܂B)

Ȃ킿AȂ Perl  C<cmp> Zq
Perl ȊÕJ[gpȂA
C<strxfrm($a) cmp strxfrm($b)>  C<strcmp($a, $b)>
ƓɂȂ܂B

=back

=head2 ͈

=over 4

=item C<mkrange(EXPR, EXPR)>

^ꂽ͈͂߂ē镶Xg
iXgReLXgȊOł͕ɘÁjԂ܂B

͈͂ C<'-'> (C<HYPHEN-MINUS>) ŕ\킵܂B
GXP[v C<'\-'>  C<'\\'> ͂ꂼA
e C<'-'>   C<'\'> ̑ɗp܂B
ŏ܂͍Ō̃nCt͂͂nCt̂̂Ƃĉ߂܂B

Ⴆ΁AC<mkrange('+\-0-9a-fA-F')> ́A
C<('+', '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F')> A
 C<scalar mkrange('-')>  C<''>
Ԃ܂B.

Shift-JIS ͈̏ȉ̂ƂłB
  C<0x00 .. 0x7F, 0xA1 .. 0xDF, 0x8140 .. 0x9FFC, 0xE040 .. 0xFCFC>.
AC<mkrange('-r')> ́Aꐅׂ̊ẴXgԂ܂B

ɐ^̒lnꍇAC<'9-0'>  C<'Z-A'> ̂悤
t͈͂̕g悤ɂȂ܂iԂltɂȂ܂jB
łȂꍇAt͈̔͂ croak ܂ivIG[jB

=back

=head2 ̕ϊ

=over 4

=item C<strtr(STRING or SCALAR REF, SEARCHLIST, REPLACEMENTLIST)>

=item C<strtr(STRING or SCALAR REF, SEARCHLIST, REPLACEMENTLIST, MODIFIER)>

=item C<strtr(STRING or SCALAR REF, SEARCHLIST, REPLACEMENTLIST, MODIFIER, PATTERN)>

=item C<strtr(STRING or SCALAR REF, SEARCHLIST, REPLACEMENTLIST, MODIFIER, PATTERN, TOPATTERN)>

C<SEARCHLIST> ׂ̂̕Ă C<REPLACEMENTLIST> Ɏꂽ
Ή镶ɕϊ܂B

ƂăXJ[ϐւ̃t@XpƁA
XJ[ϐ̕ύXāA
ϊ܂͍폜ꂽ̐Ԃ܂B
ȊȌꍇA̕ύX邱ƂȂAϊ̕Ԃ܂B

  $str = "ȂƂ";
  print strtr(\$str,"", "ACEGI"), "  ", $str;
  # o: 3  ȂƃCIE

  $str = "̘TB";
  print strtr($str,"TB", "OՁA"), $str;
  # o: ǑՁA̘TB

B<SEARCHLIST  REPLACEMENTLIST>

C<"-"> ̂悤ȕ͈́iI C<mkrange()> gpj
p邱Ƃł܂)B

C<REPLACEMENTLIST> 󕶎̏ꍇAC<SEARCHLIST> őp܂B

C<REPLACEMENTLIST>  C<SEARCHLIST> ZꍇA
C<REPLACEMENTLIST> ̍Ō㕶\Ȓ܂ŗp܂B
i 'd' Cqpꍇ܂B)

  strtr(\$str, '-@--', '#');
    # ׂẲ '#' ɕϊ܂B

B<MODIFIER>

    c   SEARCHLIST ̕Wp܂B
    d   C<SEARCHLIST> Ɋ܂܂邪 C<REPLACEMENTLIST> ɂȂ폜܂B
    s   ϊAꍇɂЂƂɂ܂Ƃ߂܂B
    h   ̏opx̃nbVi܂͂̃t@XjԂ܂B
    R   ͈͂gp܂B
    r   t͈͂̕g悤ɂ܂B
    o   ϊ\IɃLbV܂B

  strtr(\$str, '-@--', '');
    # $str ̉̐𐔂܂B

  $onlykana = strtr($str, '-@--', '', 'cd');
    # ȊO̕폜܂B

  strtr(\$str, " \x81\x40\n\r\t\f", '', 'd');
    # aԊu܂ދ󔒗ޕ폜܂B

  strtr("߂ڂ@Ƃ͂", '-', '', 's');
    # o: ߂ڂ@Ƃ

  strtr("Zq̎g͌ꂵ", '-', '', 'cs');
    # o: ́́

C<'h'> CqpƁA񂩃t@XɍS炸A
̏opxAL[A񐔂lƂȂnbVŕԂ܂B
XJ[ReLXgł̓nbVt@XŕԂ܂B
ɕύX̕𓾂΁AƂăt@XnA
̃t@X̓eύX悤ɂĂB

  %hist_kana = strtr('{̃J^Ji', '-@--', '', 'h');
    # ̏opx𒲂ׂ܂B
    # ԋpl ('' => 1, 'J' => 2, '^' => 1, 'i' => 1),
    # AnbṼL[̏́AȂƂ͌܂B

C<'R'> CqpƁAC<'-'> ̓^ł͂ȂA
CORE::  C<tr'''> ̂悤ɁAnCt̂̂Ƃ݂Ȃ܂B
C<SEARCHLIST>C<REPLACEMENTLIST>̒ɁAC<'-'>  C<'\'> 
܂܂ĂȂȂAC<'R'> Cq̗L͎sʂɉe^܂񂪁A
C<'R'> Cqw肷ƁAIɂ́A͈͂߂邽߂̏
Iɏȗ܂B

  strtr("90 - 32 = 58", "0-9", "A-J");
    # o: "JA - DC = FI"

  strtr("90 - 32 = 58", "0-9", "A-J", "R");
    # o: "JA - 32 = 58"
    # cf. ($str = "90 - 32 = 58") =~ tr'0-9'A-J';
    # '0'  'A' ɁA'-'  '-' ɁA'9'  'J' ɁB

C<'r'> CqpƁAt͈͂̕g悤ɂȂ܂B
Ⴆ΁AC<strtr($str, "0-9", "9-0", "r")> 
C<strtr($str, "0123456789", "9876543210")> ƓłB

  strtr($text, '-r', 'r-', "r");
    # eLXgꂽ悤Ɍ邩m܂B

B<PATTERN  TOPATTERN>

C<PATTERN>  C<TOPATTERN> pƁAȂ镔
PʂƂϊsƂł܂B

l̈Ŋ֐ĂԂƁAC<SEARCHLIST>CC<REPLACEMENTLIST>C
 C<STRING> ͕Pʂɕ܂B

܌̈n C<SEARCHLIST>CC<REPLACEMENTLIST>C
C<STRING>  C<PATTERN> Ƀ}b`镔͕ϊ̒PʂƌȂ܂B

C<PATTERN>  C<TOPATTERN> Ƃ̗nƁA
C<SEARCHLIST>  C<STRING>  C<PATTERN> Ƀ}b`镔ƁA
C<REPLACEMENTLIST>  C<TOPATTERN> Ƀ}b`镔
͕ϊ̒PʂƌȂ܂B

  print strtr(
    "Caesar Aether Goethe",
    "aeoeueAeOeUe",
    "&auml;&ouml;&ouml;&Auml;&Ouml;&Uuml;",
    "",
    "[aouAOU]e",
    "&[aouAOU]uml;");

  # o: C&auml;sar &Auml;ther G&ouml;the

B<zɂ LISTS>

C<PATTERN>  C<TOPATTERN> nɁAȉɎ悤ɁA
C<SEARCHLIST> с^܂ C<REPLACEMENTLIST> Ƃ
zp邱Ƃł܂B

  print strtr(
    "Caesar Aether Goethe",
    [qw/ae oe ue Ae Oe Ue/],
    [qw/&auml; &ouml; &ouml; &Auml; &Ouml; &Uuml;/]
  );

B<ϊ\̃LbV>

C<'o'> CqpƁAϊ\IɃLbV܂B

Ⴆ΁A

  foreach (@hiragana_strings) {
      print strtr($_, '-', '@-', 'o');
  }
  # Љŏo͂B

́Â悤ɂ̂ƁAʂ̌܂B

  $hiragana_to_katakana = trclosure('-', '@-');

  foreach (@hiragana_strings) {
      print &$hiragana_to_katakana($_);
  }

ǂłDȕp΂ł傤B

C<'o'> CqȂł́A

  foreach (@hiragana_strings) {
      print strtr($_, '-', '@-');
  }

͂ƂĂxȂł傤BȂȂAϊ\
Ăяo̓xɍ쐬邩łB

=back

=head2 ϊ̃N[W̐

=over 4

=item C<trclosure(SEARCHLIST, REPLACEMENTLIST)>

=item C<trclosure(SEARCHLIST, REPLACEMENTLIST, MODIFIER)>

=item C<trclosure(SEARCHLIST, REPLACEMENTLIST, MODIFIER, PATTERN)>

=item C<trclosure(SEARCHLIST, REPLACEMENTLIST, MODIFIER, PATTERN, TOPATTERN)>

ϊ邽߂̃N[WԂ܂B
Ԃl͒PȂR[ht@XiTu[`jłāA
uXꂽIuWFNgł͂܂B

̃R[ht@Xg΁AϊΉp[^Xg
ĂяôтɓnKv܂B

  my $digit_tr = trclosure("1234567890-", "OlܘZZ|");
  print &$digit_tr ("TEL F0124-45-6789\n"); # perl 5.003 ł ok
  print $digit_tr->("FAX F0124-51-5368\n"); # perl 5.004 ȍ~

  # o:
  # TEL FZl|l܁|Z
  # FAX FZl|܈|܎OZ

C<trclosure()> ɂꂽN[W̋@\
C<strtr()> ̂ƓlłB
̂ƂAC<strtr()> ͓I C<trclosure()> ĂŁA
ԋpl̃N[WgĂ܂B

=back

=head2 At@xbg̑啶E

=over 4

=item C<toupper(STRING)>

=item C<toupper(SCALAR REF)>

C<STRING> 啶Ԃ܂B
pe C<a-z>  C<A-Z> ̕ϊ݂̂s܂B

ƂăXJ[ϐւ̃t@XnƁA
t@Xꂽ񂪕ϊāA
ϊꂽ̐Ԃ܂B

=item C<tolower(STRING)>

=item C<tolower(SCALAR REF)>

C<STRING> Ԃ܂B
pe C<A-Z>  C<a-z> ̕ϊ݂̂s܂B

ƂăXJ[ϐւ̃t@XnƁA
t@Xꂽ񂪕ϊāA
ϊꂽ̐Ԃ܂B

=back

=head2 EЉ̕ϊ

ƂăXJ[ϐւ̃t@XnƁA
t@Xꂽ񂪕ϊāA
ϊꂽ̐Ԃ܂B
łȂꍇAϊ̕񂪕ԂA
̕ɉe͂܂B

=over 4

=item 

=over 4

=item *

C<'K'>, C<'p'> ̂悤ȑE̕EЉƁA
C<''>, C<''> ̂悤ȑ_E_t̔pЉƂ̊Ԃ̕ϊ
C<1> Ɛ܂BlɁA C<'J'> ƁAЉ C<''>
܂͑_tpЉ C<''> ̊Ԃ̕ϊ C<1> Ɛ܂B

=item *

upŁv̕ϊɂ́AL̕ϊi_ C<'B'>, n C<'u'>,
I C<'v'>, Ǔ_ C<'A'>, _ C<'E'>,  C<'['>,
_ C<'J'>, _ C<'K'>j܂܂܂B
ƕЉ̊Ԃŕϊꍇɂ́AJԂLiC<'T'>, C<'U'>j
ƕЉJԂLiC<'R'>, C<'S'>j̕ϊ܂܂܂B

=item *

C<>AЉC<>́AϊɓKȉȂꍇA
C<>AЉC<CGJP>ϊʂőp܂B

=back

=item C<kanaH2Z(STRING)>

=item C<kanaH2Z(SCALAR REF)>

upŁvuJ^Jivɕϊ܂BuЂ炪ȁv͕ϊ܂B

=item C<kataH2Z(STRING)>

=item C<kataH2Z(SCALAR REF)>

upŁvuJ^Jivɕϊ܂BuЂ炪ȁv͕ϊ܂B

B<F> C<kataH2Z>  C<kanaH2Z> ̕ʖłA@\ɕς͂܂B

=item C<hiraH2Z(STRING)>

=item C<hiraH2Z(SCALAR REF)>

upŁvuЂ炪ȁvɕϊ܂BuJ^Jiv͕ϊ܂B

=item C<kataZ2H(STRING)>

=item C<kataZ2H(SCALAR REF)>

uJ^JivupŁvɕϊ܂BuЂ炪ȁv͕ϊ܂B

=item C<kanaZ2H(STRING)>

=item C<kanaZ2H(SCALAR REF)>

uЂ炪ȁvсuJ^JivꂼupŁvɕϊ܂B

=item C<hiraZ2H(STRING)>

=item C<hiraZ2H(SCALAR REF)>

uЂ炪ȁvupŁvɕϊ܂BuJ^Jiv͕ϊ܂B

=item C<hiXka(STRING)>

=item C<hiXka(SCALAR REF)>

uЂ炪ȁvuJ^JivɁAuJ^JivuЂ炪ȁv
xɕϊ܂BupŁv͕ϊ܂B

=item C<hi2ka(STRING)>

=item C<hi2ka(SCALAR REF)>

uЂ炪ȁvuJ^Jivɕϊ܂BupŁv͕ϊ܂B

=item C<ka2hi(STRING)>

=item C<ka2hi(SCALAR REF)>

uJ^JivuЂ炪ȁvɕϊ܂BupŁv͕ϊ܂B

=back

=head2 󔒗ޕ̕ϊ

ƂăXJ[ϐւ̃t@XnƁA
t@Xꂽ񂪕ϊāA
ϊꂽ̐Ԃ܂B
łȂꍇAϊ̕񂪕ԂA
̕ɉe͂܂B

=over 4

=item C<spaceH2Z(STRING)>

=item C<spaceH2Z(SCALAR REF)>

񒆂 C<"\x20">iXy[Xj C<"\x81\x40">iaԊujɕϊ܂B

=item C<spaceZ2H(STRING)>

=item C<spaceZ2H(SCALAR REF)>

񒆂 C<"\x81\x40">iaԊuj C<"\x20">iXy[Xjɕϊ܂B

=back

=head1 ӎ

̃W[ł͐ Shift-JIS ̕
ȉ̐K\Ƀ}b`Ȃ΂Ȃ܂B

   [\x00-\x7F\xA1-\xDF]|[\x81-\x9F\xE0-\xFC][\x40-\x7E\x80-\xFC]

O\[X́̕Aꂪ Shift-JIS ł
Ăꍇ C<issjis()> pĊmFׂłB

Ȃ Shift-JIS gƕςȌʂɂȂ邱Ƃ܂B
iȂ Shift-JIS gꍇAǂȌʂɂȂ邩A
܂Ă܂̂ŁA҂Ă͂܂Bj

Shift-JIS ̓oCg̒ɂ́AoCg C<[\x40-\x7E]>AȂ킿

   @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

ł̂܂B

Perl ̍\͂ł́Â悤ȃoCgɂ
ʂȏ͂Ă܂̂ŁA肪邱Ƃ܂B
Ⴆ΁Ae C<"\"> ͒vIG[N܂B
ȂȂAoCg C<0x5C> NH[gGXP[v邩łB

Õt@Cǂݏoꍇ́A̖͋N܂񂪁A
XNvg Shift-JIS ŏɂ͏\ȒӂKvłB

Shift-JIS̃e邽߂ɂ́A
VONH[g̃qAhNiC<E<lt>E<lt> ''>jA
^ C<\xhh> gق悢ł傤B

Shift-JIS ̑oCgɏoėȂASCII}`iC<[\x21-\x3F]>j
ȉ̒ʂB

   !"#$%&'()*+,-./0123456789:;<=>?

NH[gZq̃f~^ƂẮAgƂ悢܂B

=head1 oO

̃W[ł C<$[> ͂ 0 łāA1 ɂȂȂƍlĂ܂B

=head1 

SADAHIRO Tomoyuki <SADAHIRO@cpan.org> A ms

  Copyright(C) 2001-2007, SADAHIRO Tomoyuki. Japan. All rights reserved.

  This module is free software; you can redistribute it
  and/or modify it under the same terms as Perl itself.

=head1 ֘AW[

=over 4

=item L<ShiftJIS::Regexp>

=item L<ShiftJIS::Collate>

=back

=cut
