ÿØÿà JFIF x x ÿÛ C
ÿÛ CÿÀ " ÿÄ
ÿÄ µ } !1AQa"q2‘¡#B±ÁRÑð$3br‚
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ
ÿÄ µ w !1AQaq"2B‘¡±Á #3RðbrÑ# vim: syntax=pod
=encoding utf8
=head1 NAME
perljp - 日本語 Perl ガイド
=head1 説明
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
=head2 (jcode.pl|Jcode.pm|JPerl) ã‹ã‚‰ã®ç§»è¡Œ
5.8以å‰ã®ã€ã‚¹ã‚¯ãƒªãƒ—トãŒEUC-JPã§ã‚れã°ãƒªãƒ†ãƒ©ãƒ«ã ã‘ã¯æ‰±ã†ã“ã¨ãŒã§ãã¾ã—ãŸã€‚ã¾ãŸã€å…¥å‡ºåŠ›ã‚’æ‰±ã†ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¨ã—ã¦ã¯Jcode.pmãŒ( L )ã€perl4用ã®ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ã¨ã—ã¦ã¯jcode.plãŒãれãžã‚Œå˜åœ¨ã—ã€æ—¥æœ¬èªžã®æ‰±ãˆã‚‹CGIã§ã‚ˆã利用ã•れã¦ã„ã‚‹ã“ã¨ã‚’御å˜ã˜ã®æ–¹ã‚‚å°‘ãªããªã„ã‹ã¨æ€ã‚れã¾ã™ã€‚ãŸã ã—ã€æ—¥æœ¬èªžã«ã‚ˆã‚‹æ£è¦è¡¨ç¾ã‚’ã†ã¾ã扱ã†ã“ã¨ã¯ä¸å¯èƒ½ã§ã—ãŸã€‚
5.005以å‰ã®Perlã«ã¯ã€æ—¥æœ¬èªžã«ç‰¹åŒ–ã—ãŸãƒãƒ¼ã‚«ãƒ©ã‚¤ã‚ºç‰ˆã€JperlãŒå˜åœ¨ã—ã¾ã—ãŸ( L ※1)。ã¾ãŸã€Mac OS 9.x/Classic用ã®Perlã€MacPerlã®æ—¥æœ¬èªžç‰ˆã‚‚MacJPerlã¨ã—ã¦å˜åœ¨ã—ã¦ã¾ã—ãŸã€‚( L ).ã“れらã§ã¯æ–‡å—コードã¨ã—ã¦EUC-JPã«åŠ ãˆShift_JISã‚‚ãã®ã¾ã¾æ‰±ã†ã“ã¨ãŒã§ãã€ã¾ãŸæ—¥æœ¬èªžã«ã‚ˆã‚‹æ£è¦è¡¨ç¾ã‚’扱ã†ã“ã¨ã‚‚å¯èƒ½ã§ã—ãŸã€‚
Perl5.8ã§ã¯ã€ã“ã‚Œã‚‰ã®æ©Ÿèƒ½ãŒã™ã¹ã¦Perl本体ã ã‘ã§å®Ÿç¾ã§ãる上ã«ã€æ—¥æœ¬èªžã®ã¿ãªã‚‰ãšä¸Šè¨˜114ã®æ–‡å—コードをã™ã¹ã¦ã€ã—ã‹ã‚‚åŒæ™‚ã«æ‰±ã†ã“ã¨ãŒã§ãã¾ã™ã€‚ã•らã«ã€CPANãªã©ã‹ã‚‰æ–°ã—ã„æ–‡å—コード用ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’入手ã™ã‚‹ã“ã¨ã‚‚ç°¡å˜ã«ã§ãるよã†ã«ãªã£ã¦ã„ã¾ã™ã€‚
※1: ホスティングサービスã®çµ‚了ã«ã‚ˆã‚Šç¾åœ¨ã¯é–²è¦§ã§ãã¾ã›ã‚“。 Vector( L )ã‹ã‚‰Window用ã®ãƒã‚¤ãƒŠãƒªã‚’ã€CPAN( L )ã‹ã‚‰perl4用ã®ãƒ‘ッãƒã‚’入手ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
=over 4
=item *
入出力
以下ã®ä¾‹ã¯ã„ãšã‚Œã‚‚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;
}
=item *
Jperl 互æ›ã‚¹ã‚¯ãƒªãƒ—ト
ã„ã‚ゆる"shebang"を変更ã™ã‚‹ã ã‘ã§ã€Jperl用ã®scriptã®ã»ã¨ã‚“ã©ã¯å¤‰æ›´ãªã—ã«åˆ©ç”¨å¯èƒ½ã ã¨æ€ã‚れã¾ã™ã€‚
#!/path/to/jperl
↓
#!/path/to/perl -Mencoding=euc-jp
詳ã—ã㯠perldoc encoding ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
=back
=head2 ã•らã«è©³ã—ã
Perlã«ã¯è†¨å¤§ãªè³‡æ–™ãŒä»˜å±žã—ã¦ãŠã‚Šã€Perlã®æ–°æ©Ÿèƒ½ã‚„Unicodeサãƒãƒ¼ãƒˆã€ãã—ã¦Encodeモジュールã®ä½¿ç”¨æ³•ãªã©ãŒç´°ã‹ã網羅ã•れã¦ã„ã¾ã™ï¼ˆæ®‹å¿µãªãŒã‚‰ã€ã»ã¨ã‚“ã©è‹±èªžã§ã¯ã‚りã¾ã™ãŒï¼‰ã€‚以下ã®ã‚³ãƒžãƒ³ãƒ‰ã§ãれらã®ä¸€éƒ¨ã‚’閲覧ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚
perldoc perlunicode # Perlã®Unicodeサãƒãƒ¼ãƒˆå…¨èˆ¬
perldoc Encode # Encodeモジュールã«é–¢ã—ã¦
perldoc Encode::JP # ã†ã¡æ—¥æœ¬èªžæ–‡å—コードã«é–¢ã—ã¦
=head2 Perl全般ã«é–¢ã™ã‚‹ URL
=over 4
=item L
Perl ホームページ
=item L
Perl 財団ãŒå–¶æ¥ã™ã‚‹æ–‡ç« 作å“集
=item L
CPAN (Comprehensive Perl Archive Network)
=item L
MetaCPAN CPANã®æ¤œç´¢ã‚¨ãƒ³ã‚¸ãƒ³
=item L
Perl メーリングリスト集
=item L
perldoc.jp Perl ã®å…¬å¼ãƒ‰ã‚ュメントã€ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ãƒ‰ã‚ãƒ¥ãƒ¡ãƒ³ãƒˆã®æ—¥æœ¬èªžè¨³
=back
=head2 Perlã®ä¿®å¾—ã«å½¹ç«‹ã¤ URL
=over 4
=item L
O'Reilly 社ã®Perl関連書ç±(簡体å—ä¸å›½èªž)
=item L
オライリー社ã®Perl関連書ç±(日本語)
=back
=head2 Perl ã«é–¢ã™ã‚‹å›£ä½“
=over 4
=item L
アジア地域㮠Perl Mongers (Perlã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚°ãƒ«ãƒ¼ãƒ—) 一覧
=item L
一般社団法人Japan Perl Association (JPA) Perl技術åŠã³æ–‡åŒ–ã®å•“蒙・促進ã®ãŸã‚ã®çµ„ç¹”
=back
=head2 Unicode関連ã®URL
=over 4
=item L
Unicode コンソーシアム(Unicodeè¦æ ¼ã®é¸å®šå›£ä½“)
=item L
UTF-8 and Unicode FAQ for Unix/Linux
=item L
UTF-8 and Unicode FAQ for Unix/Linux (ãƒãƒ³ã‚°ãƒ«è¨³)
=back
=head1 AUTHORS
=over
=item * Jarkko Hietaniemi Ejhi@iki.fiE
=item * Dan Kogai (å°é£¼ã€€å¼¾) Edankogai@dan.co.jpE
=item * Shogo Ichinose (一野瀬 翔å¾) Eshogo82148@gmail.comE
=back
=cut