perljp

NAME

perljp - ÆüËܸì Perl ¥¬¥¤¥É

ÀâÌÀ

Perl ¤ÎÀ¤³¦¤Ø¤è¤¦¤³¤½!

Perl 5.8.0 ¤è¤ê¡¢Unicode¥µ¥Ý¡¼¥È¤¬ÂçÉý¤Ë¶¯²½¤µ¤ì¡¢¤½¤Î·ë²Ì¥é¥Æ¥óʸ»ú°Ê³°¤Îʸ»ú¥³¡¼¥É¤Î¥µ¥Ý¡¼¥È¤¬ CJK (Ãæ¹ñ¸ì¡¢ÆüËܸ졢¥Ï¥ó¥°¥ë)¤ò´Þ¤á¤Æ²Ã¤ï¤ê¤Þ¤·¤¿¡£Unicode¤ÏÀ¤³¦Ãæ¤Îʸ»ú¤ò°ì¤Ä¤Îʸ»ú¥³¡¼¥É¤Ç°·¤¦¤³¤È¤òÌܻؤ·¤¿É¸½àµ¬³Ê¤Ç¤¢¤ê¡¢Å줫¤éÀ¾¡¢¤Ï¤¿¤Þ¤¿¤½¤Î´Ö¤Îʸ»ú¡Ê¥®¥ê¥·¥ãʸ»ú¡¢¥­¥ê¡¼¥ëʸ»ú¡¢¥¢¥é¥Ó¥¢Ê¸»ú¡¢¥Ø¥Ö¥é¥¤Ê¸»ú¡¢¥Ç¥£¡¼¥ô¥¡¥Ê¥¬¡¼¥êʸ»ú¡¢¤Ê¤É¤Ê¤É¡Ë¤ä¡¢¤³¤ì¤Þ¤Ç¤ÏOS¥Ù¥ó¥À¡¼¤¬Æȼ«¤ËÄê¤á¤Æ¤¤¤¿Ê¸»ú(PC¤ª¤è¤ÓMacintosh)¤¬¤¹¤Ç¤Ë´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£

Perl ¼«¿È¤Ï Unicode ¤ÇÆ°ºî¤·¤Þ¤¹¡£Perl ¥¹¥¯¥ê¥×¥ÈÆâ¤Îʸ»úÎó¥ê¥Æ¥é¥ë¤äÀµµ¬É½¸½¤Ï Unicode ¤òÁ°Äó¤È¤·¤Æ¤¤¤Þ¤¹¡£¤½¤·¤ÆÆþ½ÐÎϤΤ¿¤á¤Ë¤Ï¡¢¤³¤ì¤Þ¤Ç»È¤ï¤ì¤Æ¤­¤¿¤µ¤Þ¤¶¤Þ¤Êʸ»ú¥³¡¼¥É¤ËÂбþ¤¹¤ë¥â¥¸¥å¡¼¥ë¡¢¡Ö Encode ¡×¤¬É¸½àÁõÈ÷¤µ¤ì¤Æ¤ª¤ê¡¢Unicode ¤È¤³¤ì¤é¤Îʸ»ú¥³¡¼¥É¤ÎÁê¸ßÊÑ´¹¤â´Êñ¤Ë¹Ô¤¨¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

¸½»þÅÀ¤Ç Encode ¤¬¥µ¥Ý¡¼¥È¤¹¤ëʸ»ú¥³¡¼¥É¤Ï°Ê²¼¤Î¤È¤ª¤ê¤Ç¤¹¡£


  7bit-jis      AdobeStandardEncoding AdobeSymbol       AdobeZdingbat

  ascii             big5              big5-hkscs        cp1006

  cp1026            cp1047            cp1250            cp1251

  cp1252            cp1253            cp1254            cp1255

  cp1256            cp1257            cp1258            cp37

  cp424             cp437             cp500             cp737

  cp775             cp850             cp852             cp855

  cp856             cp857             cp860             cp861

  cp862             cp863             cp864             cp865

  cp866             cp869             cp874             cp875

  cp932             cp936             cp949             cp950

  dingbats          euc-cn            euc-jp            euc-kr

  gb12345-raw       gb2312-raw        gsm0338           hp-roman8

  hz                iso-2022-jp       iso-2022-jp-1     iso-8859-1

  iso-8859-10       iso-8859-11       iso-8859-13       iso-8859-14

  iso-8859-15       iso-8859-16       iso-8859-2        iso-8859-3

  iso-8859-4        iso-8859-5        iso-8859-6        iso-8859-7

  iso-8859-8        iso-8859-9        iso-ir-165        jis0201-raw

  jis0208-raw       jis0212-raw       johab             koi8-f

  koi8-r            koi8-u            ksc5601-raw       MacArabic

  MacCentralEurRoman  MacChineseSimp    MacChineseTrad    MacCroatian

  MacCyrillic       MacDingbats       MacFarsi          MacGreek

  MacHebrew         MacIcelandic      MacJapanese       MacKorean

  MacRoman          MacRomanian       MacRumanian       MacSami

  MacSymbol         MacThai           MacTurkish        MacUkrainian

  nextstep          posix-bc          shiftjis          symbol

  UCS-2BE           UCS-2LE           UTF-16            UTF-16BE

  UTF-16LE          UTF-32            UTF-32BE          UTF-32LE

  utf8              viscii



(Á´114¼ïÎà)

Î㤨¤Ð¡¢Ê¸»ú¥³¡¼¥ÉFOO¤Î¥Õ¥¡¥¤¥ë¤òUTF-8¤ËÊÑ´¹¤¹¤ë¤Ë¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£


    perl -Mencoding=FOO,STDOUT,utf8 -pe1 < file.FOO > file.utf8



¤Þ¤¿¡¢Perl¤Ë¤Ï¡¢Á´Éô¤¬Perl¤Ç½ñ¤«¤ì¤¿Ê¸»ú¥³¡¼¥ÉÊÑ´¹¥æ¡¼¥Æ¥£¥ê¥Æ¥£¡¢piconv¤âÉÕ°¤·¤Æ¤¤¤ë¤Î¤Ç¡¢°Ê²¼¤Î¤è¤¦¤Ë¤¹¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£


   piconv -f FOO -t utf8 < file.FOO > file.utf8

   piconv -f utf8 -t FOO < file.utf8 > file.FOO



About (jcode.pl|Jcode.pm|JPerl)

5.8°ÊÁ°¤Î¡¢¥¹¥¯¥ê¥×¥È¤¬EUC-JP¤Ç¤¢¤ì¤Ð¥ê¥Æ¥é¥ë¤À¤±¤Ï°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤·¤¿¡£¤Þ¤¿¡¢Æþ½ÐÎϤò°·¤¦¥â¥¸¥å¡¼¥ë¤È¤·¤Æ¤ÏJcode.pm¤¬( http://openlab.jp/Jcode/ )¡¢perl4ÍѤΥ桼¥Æ¥£¥ê¥Æ¥£¤È¤·¤Æ¤Ïjcode.pl( http://srekcah.org/jcode/ )¤¬¤½¤ì¤¾¤ì¸ºß¤·¡¢ÆüËܸì¤Î°·¤¨¤ëCGI¤Ç¤è¤¯ÍøÍѤµ¤ì¤Æ¤¤¤ë¤³¤È¤ò¸æ¸¤¸¤ÎÊý¤â¾¯¤Ê¤¯¤Ê¤¤¤«¤È»×¤ï¤ì¤Þ¤¹¡£¤¿¤À¤·¡¢ÆüËܸì¤Ë¤è¤ëÀµµ¬É½¸½¤ò¤¦¤Þ¤¯°·¤¦¤³¤È¤ÏÉÔ²Äǽ¤Ç¤·¤¿¡£

5.005°ÊÁ°¤ÎPerl¤Ë¤Ï¡¢ÆüËܸì¤ËÆò½¤·¤¿¥í¡¼¥«¥é¥¤¥ºÈÇ¡¢Jperl¤¬Â¸ºß¤·¤Þ¤·¤¿( http://homepage2.nifty.com/kipp/perl/jperl/index.html )¡£¤Þ¤¿¡¢Mac OS 9.x/ClassicÍѤÎPerl¡¢MacPerl¤ÎÆüËܸìÈǤâMacJPerl¤È¤·¤Æ¸ºß¤·¤Æ¤Þ¤·¤¿¡£( http://world.std.com/~habilis/macjperl/ ).¤³¤ì¤é¤Ç¤Ïʸ»ú¥³¡¼¥É¤È¤·¤ÆEUC-JP¤Ë²Ã¤¨Shift_JIS¤â¤½¤Î¤Þ¤Þ°·¤¦¤³¤È¤¬¤Ç¤­¡¢¤Þ¤¿ÆüËܸì¤Ë¤è¤ëÀµµ¬É½¸½¤ò°·¤¦¤³¤È¤â²Äǽ¤Ç¤·¤¿¡£

Perl5.8¤Ç¤Ï¡¢¤³¤ì¤é¤Îµ¡Ç½¤¬¤¹¤Ù¤ÆPerlËÜÂΤÀ¤±¤Ç¼Â¸½¤Ç¤­¤ë¾å¤Ë¡¢ÆüËܸì¤Î¤ß¤Ê¤é¤º¾åµ­114¤Îʸ»ú¥³¡¼¥É¤ò¤¹¤Ù¤Æ¡¢¤·¤«¤âƱ»þ¤Ë°·¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£¤µ¤é¤Ë¡¢CPAN¤Ê¤É¤«¤é¿·¤·¤¤Ê¸»ú¥³¡¼¥ÉÍѤΥ⥸¥å¡¼¥ë¤òÆþ¼ê¤¹¤ë¤³¤È¤â´Êñ¤Ë¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£

*
Æþ½ÐÎÏ

°Ê²¼¤ÎÎã¤Ï¤¤¤Å¤ì¤âShift_JIS¤ÎÆþÎϤòEUC-JP¤ËÊÑ´¹¤·¤Æ½ÐÎϤ·¤Þ¤¹¡£


  # jcode.pl

  require "jcode.pl";

  while(<>){

    jcode::convert(*_, 'euc', 'sjis');

    print;

  }

  # Jcode.pm

  use Jcode;

  while(<>){

        print Jcode->new($_, 'sjis')->euc;

  }

  # Perl 5.8

  use Encode;

  while(<>){

    from_to($_, 'shiftjis', 'euc-jp');

    print;

  }

  # Perl 5.8 - encoding ¤òÍøÍѤ·¤Æ

  use encoding 'euc-jp', STDIN => 'shiftjis';

  while(<>){

        print;

  }



*
Jperl ¸ß´¹¥¹¥¯¥ê¥×¥È

 ¤¤¤ï¤æ¤ë"shebang"¤òÊѹ¹¤¹¤ë¤À¤±¤Ç¡¢JperlÍѤÎscript¤Î¤Û¤È¤ó¤É¤ÏÊѹ¹¤Ê¤·¤ËÍøÍѲÄǽ¤À¤È»×¤ï¤ì¤Þ¤¹¡£




   #!/path/to/jperl

   ¢­

   #!/path/to/perl -Mencoding=euc-jp




 ¾Ü¤·¤¯¤Ï perldoc encoding ¤ò»²¾È¤·¤Æ¤¯¤À¤µ¤¤¡£



¤µ¤é¤Ë¾Ü¤·¤¯

Perl¤Ë¤ÏËÄÂç¤Ê»ñÎÁ¤¬ÉÕ°¤·¤Æ¤ª¤ê¡¢Perl¤Î¿·µ¡Ç½¤äUnicode¥µ¥Ý¡¼¥È¡¢¤½¤·¤ÆEncode¥â¥¸¥å¡¼¥ë¤Î»ÈÍÑË¡¤Ê¤É¤¬ºÙ¤«¤¯ÌÖÍ夵¤ì¤Æ¤¤¤Þ¤¹¡Ê»ÄÇ°¤Ê¤¬¤é¡¢¤Û¤È¤ó¤É±Ñ¸ì¤Ç¤Ï¤¢¤ê¤Þ¤¹¤¬¡Ë¡£°Ê²¼¤Î¥³¥Þ¥ó¥É¤Ç¤½¤ì¤é¤Î°ìÉô¤ò±ÜÍ÷¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£

  perldoc perlunicode # Perl¤ÎUnicode¥µ¥Ý¡¼¥ÈÁ´ÈÌ

  perldoc Encode      # Encode¥â¥¸¥å¡¼¥ë¤Ë´Ø¤·¤Æ

  perldoc Encode::JP  # ¤¦¤ÁÆüËܸìʸ»ú¥³¡¼¥É¤Ë´Ø¤·¤Æ



PerlÁ´È̤˴ؤ¹¤ë URL

<http://www.perl.com/>
Perl ¥Û¡¼¥à¥Ú¡¼¥¸ (O'Reilly and Associates)
<http://www.cpan.org/>
CPAN (Comprehensive Perl Archive Network)
<http://lists.perl.org/>
Perl ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È½¸

Perl¤Î½¤ÆÀ¤ËÌòΩ¤Ä URL

<http://www.oreilly.com.tw/chinese/>
O'Reilly ¼Ò¤ÎPerl´ØÏ¢½ñÀÒ(ÈËÂλúÃæ¹ñ¸ì)
<http://www.oreilly.com.cn/chinese/>
O'Reilly ¼Ò¤ÎPerl´ØÏ¢½ñÀÒ(´ÊÂλúÃæ¹ñ¸ì)
<http://www.oreilly.co.jp/catalog.htm>
¥ª¥é¥¤¥ê¡¼¼Ò¤ÎPerl´ØÏ¢½ñÀÒ(ÆüËܸì)

Perl ¥æ¡¼¥¶¡¼¥°¥ë¡¼¥×

<http://www.pm.org/groups/asia.shtml#China>
Ãæ¹ñ¡ÊÃæ²Ú¿Í̱¶¦Ï¹ñ¡Ë
<http://www.pm.org/groups/asia.shtml#Japan>
ÆüËÜ
<http://www.pm.org/groups/asia.shtml#Korea%20(Republic%20of)>
´Ú¹ñ¡ÊÂç´Ú̱¹ñ¡Ë
<http://www.pm.org/groups/asia.shtml#Taiwan>
ÂæÏÑ¡ÊÃæ²Ú̱¹ñ¡Ë

Unicode´ØÏ¢¤ÎURL

<http://www.unicode.org/>
Unicode ¥³¥ó¥½¡¼¥·¥¢¥à (Unicodeµ¬³Ê¤ÎÁªÄêÃÄÂÎ)
<http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
UTF-8 and Unicode FAQ for Unix/Linux
<http://kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html>
UTF-8 and Unicode FAQ for Unix/Linux (¥Ï¥ó¥°¥ëÌõ)

AUTHORS

Jarkko Hietaniemi <jhi@iki.fi> Dan Kogai (¾®»ô¡¡ÃÆ) <dankogai@dan.co.jp>