Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 193 lines (125 sloc) 6.612 kb
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
1 If you read this file _as_is_, just ignore the funny characters you
2 see. It is written in the POD format (see perlpod manpage) which is
3 specially designed to be readable as is.
4
f092799 @jhi README.cjk update.
jhi authored
5 The following documentation is written in euc-jp encoding.
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
6
a5921eb @eserte PATCH: Add =encoding directive to non-latin READMEs
eserte authored
7 =encoding euc-jp
8
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
9 =head1 NAME
10
11 perljp - 日本語 Perl ガイド
12
13 =head1 説明
14
f092799 @jhi README.cjk update.
jhi authored
15 Perl の世界へようこそ!
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
16
17 Perl 5.8.0 より、Unicodeサポートが大幅に強化され、その結果ラテン文字以外の文字コードのサポートが CJK (中国語、日本語、ハングル)を含めて加わりました。Unicodeは世界中の文字を一つの文字コードで扱うことを目指した標準規格であり、東から西、はたまたその間の文字(ギリシャ文字、キリール文字、アラビア文字、ヘブライ文字、ディーヴァナガーリ文字、などなど)や、これまではOSベンダーが独自に定めていた文字(PCおよびMacintosh)がすでに含まれています。
18
19 Perl 自身は Unicode で動作します。Perl スクリプト内の文字列リテラルや正規表現は Unicode を前提としています。そして入出力のためには、これまで使われてきたさまざまな文字コードに対応するモジュール、「 Encode 」が標準装備されており、Unicode とこれらの文字コードの相互変換も簡単に行えるようになっています。
20
21 現時点で Encode がサポートする文字コードは以下のとおりです。
22
23 7bit-jis AdobeStandardEncoding AdobeSymbol AdobeZdingbat
24 ascii big5 big5-hkscs cp1006
25 cp1026 cp1047 cp1250 cp1251
26 cp1252 cp1253 cp1254 cp1255
27 cp1256 cp1257 cp1258 cp37
28 cp424 cp437 cp500 cp737
29 cp775 cp850 cp852 cp855
30 cp856 cp857 cp860 cp861
31 cp862 cp863 cp864 cp865
32 cp866 cp869 cp874 cp875
33 cp932 cp936 cp949 cp950
34 dingbats euc-cn euc-jp euc-kr
35 gb12345-raw gb2312-raw gsm0338 hp-roman8
36 hz iso-2022-jp iso-2022-jp-1 iso-8859-1
37 iso-8859-10 iso-8859-11 iso-8859-13 iso-8859-14
38 iso-8859-15 iso-8859-16 iso-8859-2 iso-8859-3
39 iso-8859-4 iso-8859-5 iso-8859-6 iso-8859-7
40 iso-8859-8 iso-8859-9 iso-ir-165 jis0201-raw
41 jis0208-raw jis0212-raw johab koi8-f
42 koi8-r koi8-u ksc5601-raw MacArabic
43 MacCentralEurRoman MacChineseSimp MacChineseTrad MacCroatian
44 MacCyrillic MacDingbats MacFarsi MacGreek
45 MacHebrew MacIcelandic MacJapanese MacKorean
46 MacRoman MacRomanian MacRumanian MacSami
47 MacSymbol MacThai MacTurkish MacUkrainian
48 nextstep posix-bc shiftjis symbol
49 UCS-2BE UCS-2LE UTF-16 UTF-16BE
50 UTF-16LE UTF-32 UTF-32BE UTF-32LE
51 utf8 viscii
52
53 (全114種類)
54
55 例えば、文字コードFOOのファイルをUTF-8に変換するには、以下のようにします。
56
57 perl -Mencoding=FOO,STDOUT,utf8 -pe1 < file.FOO > file.utf8
58
59 また、Perlには、全部がPerlで書かれた文字コード変換ユーティリティ、piconvも付属しているので、以下のようにすることもできます。
60
61 piconv -f FOO -t utf8 < file.FOO > file.utf8
62 piconv -f utf8 -t FOO < file.utf8 > file.FOO
63
64 =head2 About (jcode.pl|Jcode.pm|JPerl)
65
eb86385 @acme Use alternative URLs for links which are now broken (link rot)
acme authored
66 5.8以前の、スクリプトがEUC-JPであればリテラルだけは扱うことができました。また、入出力を扱うモジュールとしてはJcode.pmが( http://openlab.ring.gr.jp/Jcode/ )、perl4用のユーティリティとしてはjcode.plがそれぞれ存在し、日本語の扱えるCGIでよく利用されていることを御存じの方も少なくないかと思われます。ただし、日本語による正規表現をうまく扱うことは不可能でした。
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
67
e59066d @acme Use alternative URLs for links which are now broken (link rot)
acme authored
68 5.005以前のPerlには、日本語に特化したローカライズ版、Jperlが存在しました( http://homepage2.nifty.com/kipp/perl/jperl/index.html )。また、Mac OS 9.x/Classic用のPerl、MacPerlの日本語版もMacJPerlとして存在してました。( http://habilis.net/macjperl/ ).これらでは文字コードとしてEUC-JPに加えShift_JISもそのまま扱うことができ、また日本語による正規表現を扱うことも可能でした。
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
69
70 Perl5.8では、これらの機能がすべてPerl本体だけで実現できる上に、日本語のみならず上記114の文字コードをすべて、しかも同時に扱うことができます。さらに、CPANなどから新しい文字コード用のモジュールを入手することも簡単にできるようになっています。
71
72 =over 4
73
fe30b7f @jhi Pod tweak to avoid =item<japanese> problems.
jhi authored
74 =item *
75
f092799 @jhi README.cjk update.
jhi authored
76 入出力
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
77
78 以下の例はいづれもShift_JISの入力をEUC-JPに変換して出力します。
79
80 # jcode.pl
81 require "jcode.pl";
82 while(<>){
1d587bb README.jp and README.cn
Audrey Tang authored
83 jcode::convert(*_, 'euc', 'sjis');
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
84 print;
85 }
86 # Jcode.pm
87 use Jcode;
88 while(<>){
89 print Jcode->new($_, 'sjis')->euc;
90 }
91 # Perl 5.8
92 use Encode;
93 while(<>){
94 from_to($_, 'shiftjis', 'euc-jp');
95 print;
96 }
97 # Perl 5.8 - encoding を利用して
1d587bb README.jp and README.cn
Audrey Tang authored
98 use encoding 'euc-jp', STDIN => 'shiftjis';
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
99 while(<>){
100 print;
101 }
102
fe30b7f @jhi Pod tweak to avoid =item<japanese> problems.
jhi authored
103 =item *
104
105 Jperl 互換スクリプト
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
106
107 いわゆる"shebang"を変更するだけで、Jperl用のscriptのほとんどは変更なしに利用可能だと思われます。
818c4ca @jhi pod cleanups.
jhi authored
108
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
109 #!/path/to/jperl
110
111 #!/path/to/perl -Mencoding=euc-jp
818c4ca @jhi pod cleanups.
jhi authored
112
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
113 詳しくは perldoc encoding を参照してください。
114
115 =back
116
117 =head2 さらに詳しく
118
119 Perlには膨大な資料が付属しており、Perlの新機能やUnicodeサポート、そしてEncodeモジュールの使用法などが細かく網羅されています(残念ながら、ほとんど英語ではありますが)。以下のコマンドでそれらの一部を閲覧することが可能です。
120
121 perldoc perlunicode # PerlのUnicodeサポート全般
122 perldoc Encode # Encodeモジュールに関して
123 perldoc Encode::JP # うち日本語文字コードに関して
124
125 =head2 Perl全般に関する URL
126
127 =over 4
128
129 =item L<http://www.perl.com/>
130
131 Perl ホームページ (O'Reilly and Associates)
132
133 =item L<http://www.cpan.org/>
134
135 CPAN (Comprehensive Perl Archive Network)
136
137 =item L<http://lists.perl.org/>
138
139 Perl メーリングリスト集
140
141 =back
142
143 =head2 Perlの修得に役立つ URL
144
145 =over 4
146
e59066d @acme Use alternative URLs for links which are now broken (link rot)
acme authored
147 =item L<http://www.oreilly.com.tw/>
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
148
149 O'Reilly 社のPerl関連書籍(繁体字中国語)
150
e59066d @acme Use alternative URLs for links which are now broken (link rot)
acme authored
151 =item L<http://www.oreilly.com.cn/>
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
152
153 O'Reilly 社のPerl関連書籍(簡体字中国語)
154
e59066d @acme Use alternative URLs for links which are now broken (link rot)
acme authored
155 =item L<http://www.oreilly.co.jp/catalog/>
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
156
157 オライリー社のPerl関連書籍(日本語)
158
159 =back
160
161 =head2 Perl ユーザーグループ
162
163 =over 4
164
0a31a4b README.$OS URLs
Steffen Müller authored
165 =item L<http://www.pm.org/groups/asia.html>
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
166
167 =back
168
169 =head2 Unicode関連のURL
170
171 =over 4
172
173 =item L<http://www.unicode.org/>
174
175 Unicode コンソーシアム (Unicode規格の選定団体)
176
177 =item L<http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
178
179 UTF-8 and Unicode FAQ for Unix/Linux
180
99746d7 @mstevens [perl #82526] Fix kldp links.
mstevens authored
181 =item L<http://wiki.kldp.org/Translations/html/UTF8-Unicode-KLDP/UTF8-Unicode-KLDP.html>
d841631 @jhi Add CJK READMEs from Autrijus Tang, Dan Kogai, and
jhi authored
182
183 UTF-8 and Unicode FAQ for Unix/Linux (ハングル訳)
184
185 =back
186
187 =head1 AUTHORS
188
189 Jarkko Hietaniemi E<lt>jhi@iki.fiE<gt>
190 Dan Kogai (小飼 弾) E<lt>dankogai@dan.co.jpE<gt>
191
192 =cut
Something went wrong with that request. Please try again.