On Sat, Apr 20, 2002 at 03:53:46AM +0800, Autrijus Tang wrote:
> The Diff contains fixes to TW.pm, Alias.pm, and README.(tw|cn).
> (For jhi) README fixes are trivial -- mentions new HanExtra encodings,
> fix some China word usage, and add my latin-1 name.

Err, forget the patch chunks, please use the attachments verbatim. Sorry.

/Autrijus/
If you read this file _as_is_, just ignore the funny characters you
see. It is written in the POD format (see perlpod manpage) which is
specially designed to be readable as is.

The following documentation is written in Big5 encoding.

如果你用一般的文字編輯器閱覽這份文件, 請忽略文中奇特的註記字符.
這份文件是以 POD (簡明文件格式) 寫成; 這種格式是為了能讓人直接讀取,
而特別設計的. 關於此格式的進一步資訊, 請參考 perlpod 線上文件.

=head1 NAME

perltw - 正體中文 Perl 指南

=head1 DESCRIPTION

歡迎來到 Perl 的天地!

從 5.8.0 版開始, Perl 具備了完善的 Unicode (萬國碼) 支援,
也連帶支援了許多拉丁語系以外的編碼方式; CJK (中日韓) 便是其中的一部份.
Unicode 是國際性的標準, 試圖涵蓋世界上所有的字符: 西方世界, 東方世界,
以及兩者間的一切 (希臘文, 敘利亞文, 阿拉伯文, 希伯來文, 印度文,
印地安文, 等等). 它也容納了多種作業系統與平臺 (如 PC 及麥金塔).

Perl 本身以 Unicode 進行操作. 這表示 Perl 內部的字串資料可用 Unicode
表示; Perl 的函式與算符 (例如正規表示式比對) 也能對 Unicode 進行操作.
在輸入及輸出時, 為了處理以 Unicode 之前的編碼方式儲存的資料, Perl
提供了 Encode 這個模組, 可以讓你輕易地讀取及寫入舊有的編碼資料.

Encode 延伸模組支援下列正體中文的編碼方式 ('big5' 表示 'big5-eten'):

    big5-eten   Big5 編碼 (含倚天延伸字形)
    big5-hkscs  Big5 + 香港外字集, 2001 年版
    cp950       字碼頁 950 (Big5 + 微軟添加的字符)

舉例來說, 將 Big5 編碼的檔案轉成 Unicode, 祗需鍵入下列指令:

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

Perl 也內附了 "piconv", 一支完全以 Perl 寫成的字符轉換工具程式, 用法如下:

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

另外, 利用 encoding 模組, 你可以輕易寫出以字符為單位的程式碼, 如下所示:

    #!/usr/bin/env perl
    # 啟動 big5 字串解析; 標準輸出入及標準錯誤都設為 big5 編碼
    use encoding 'big5', STDIN => 'big5', STDOUT => 'big5';
    print length("駱駝");            #  2 (雙引號表示字符)
    print length('駱駝');            #  4 (單引號表示位元組)
    print index("諄諄教誨", "彖帢"); # -1 (不包含此子字串)
    print index('諄諄教誨', '彖帢'); #  1 (從第二個位元組開始)

在最後一列例子裡, "諄" 的第二個位元組與 "諄" 的第一個位元組結合成 Big5
碼的 "彖"; "諄" 的第二個位元組則與 "教" 的第一個位元組結合成 "帢".
這解決了以前 Big5 碼比對處理上常見的問題.

=head2 額外的中文編碼

如果需要更多的中文編碼, 可以從 CPAN (L<http://www.cpan.org/>) 下載
Encode::HanExtra 模組. 它目前提供下列編碼方式:

    cccii       1980 年文建會的中文資訊交換碼
    euc-tw      Unix 延伸字符集, 包含 CNS11643 平面 1-7
    big5plus    中文數位化技術推廣基金會的 Big5+
    big5ext     中文數位化技術推廣基金會的 Big5e

另外, Encode::HanConvert 模組則提供了簡繁轉換用的兩種編碼:

    big5-simp   Big5 正體中文與 Unicode 簡體中文互轉
    gbk-trad    GBK 簡體中文與 Unicode 正體中文互轉

若想在 GBK 與 Big5 之間互轉, 請參考該模組內附的 b2g.pl 與 g2b.pl 兩支程式,
或在程式內使用下列寫法:

    use Encode::HanConvert;
    $euc_cn = big5_to_gb($big5); # 從 Big5 轉為 GBK
    $big5 = gb_to_big5($euc_cn); # 從 GBK 轉為 Big5

=head2 進一步的資訊

請參考 Perl 內附的大量說明文件 (不幸全是用英文寫的), 來學習更多關於
Perl 的知識, 以及 Unicode 的使用方式. 不過, 外部的資源相當豐富:

=head2 提供 Perl 資源的網址

=over 4

=item L<http://www.perl.com/>

Perl 的首頁 (由歐萊禮公司維護)

=item L<http://www.cpan.org/>

Perl 綜合典藏網 (Comprehensive Perl Archive Network)

=item L<http://lists.perl.org/>

Perl 郵遞論壇一覽

=back

=head2 學習 Perl 的網址

=over 4

=item L<http://www.oreilly.com.tw/chinese/perl/index.html>

正體中文版的歐萊禮 Perl 書藉

=item L<http://groups.google.com/groups?q=tw.bbs.comp.lang.perl>

臺灣 Perl 連線討論區 (也就是各大 BBS 的 Perl 連線版)

=back

=head2 Perl 使用者集會

=over 4

=item L<http://www.pm.org/groups/asia.shtml#Taiwan>

臺灣 Perl 推廣組一覽

=item L<http://irc.elixus.org/>

藝立協線上聊天室

=back

=head2 Unicode 相關網址

=over 4

=item L<http://www.unicode.org/>

Unicode 學術學會 (Unicode 標準的制定者)

=item L<http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>

Unix/Linux 上的 UTF-8 及 Unicode 答客問

=head2 中文化資訊

=item 為什麼叫 "正體中文" 不叫 "繁體中文"?

L<http://www.csie.ntu.edu.tw/~b7506051/mozilla/faq.html#faqglossary>

=item 中文化軟體聯盟

L<http://www.cpatch.org/>

=item Linux 軟體中文化計劃

L<http://www.linux.org.tw/CLDP/>

=back

=head1 SEE ALSO

L<Encode>, L<Encode::TW>, L<encoding>, L<perluniintro>, L<perlunicode>

=head1 AUTHORS

Jarkko Hietaniemi E<lt>[EMAIL PROTECTED]<gt>

Autrijus Tang (唐宗漢) E<lt>[EMAIL PROTECTED]<gt>

=cut
If you read this file _as_is_, just ignore the funny characters you
see. It is written in the POD format (see perlpod manpage) which is
specially designed to be readable as is.

The following documentation is written in EUC-CN encoding.

?蝜?斕蚚珨啜腔恅趼晤憮ん堐擬涴爺恅璃, ③綺謹恅笢も杻腔蛁暮趼睫.
涴爺恅璃岆眕 POD (潠隴恅璃跡宒) 迡傖; 涴笱跡宒岆峈賸夔?蠍匊掃荈賺?,
奧杻梗扢數腔. 壽衾森跡宒腔輛珨祭陓洘, ③統蕉 perlpod 盄奻恅璃.

=head1 NAME

perlcn - 潠极笢恅 Perl 硌鰍

=head1 DESCRIPTION

辣茩懂善 Perl 腔毞華!

植 5.8.0 唳羲宎, Perl 撿掘賸俇囡腔 Unicode (苀珨鎢) 盓堔,
珩蟀湍盓堔賸勍嗣嶺間逄炵眕俋腔晤鎢源宒; CJK (笢?梣?) 晞岆む笢腔珨窒爺.
Unicode 岆弊暱俶腔梓袧, 彸芞滬裔岍賜奻垀衄腔趼睫: 昹源岍賜, 陲源岍賜,
眕摯謗氪潔腔珨з (洷幫恅, 唦瞳捚恅, 捚嶺皎恅, 洷皎懂恅, 荂僅恅,
荂華假恅, 脹脹). 坳珩?暊匢侀雺笫壨舜腴勝踰諒? (?? PC 摯闔踢坢).

Perl 掛旯眕 Unicode 輛俴紱釬. 涴桶尨 Perl 囀窒腔趼睫揹杅擂褫蚚 Unicode
桶尨; Perl 腔滲宒迵呾睫 (瞰?諆?寞桶尨宒掀勤) 珩夔勤 Unicode 輛俴紱釬.
婓怀?趧動銙麜?, 峈賸揭燴眕 Unicode 眳ヶ腔晤鎢源宒湔溫腔杅擂, Perl
枑鼎賸 Encode 涴跺耀輸, 褫眕?藥蒯愻袢媔賺□匾椅踾孖迮覺鉰輮?擂.

Encode 晊扥耀輸盓堔狟蹈潠极笢恅腔晤鎢源宒 ('gb2312' 桶尨 'euc-cn'):

    euc-cn      Unix 晊扥趼睫摩, 珩憩岆匋備腔弊梓鎢
    gb2312-raw  帤冪揭燴腔 (腴掀杻) GB2312 趼睫桶
    gb12345     帤冪揭燴腔笢弊蚚楛极笢恅晤鎢
    iso-ir-165  GB2312 + GB6345 + GB8565 + 陔崝趼睫
    cp936       趼鎢珜 936, 珩褫眕蚚 'GBK' (孺喃弊梓鎢) 硌隴
    hz          7 掀杻砯堤宒 GB2312 晤鎢

撼瞰懂佽, 蔚 EUC-CN 晤鎢腔恅紫蛌傖 Unicode, 檍剒瑩?輴臏倗蜂?:

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

Perl 珩囀蜇賸 "piconv", 珨盓俇?帝? Perl 迡傖腔趼睫蛌遙馱撿最唗, 蚚楊?覤?:

    piconv -f euc-cn -t utf8 < file.euc-cn > file.utf8
    piconv -f utf8 -t euc-cn < file.utf8 > file.euc-cn

鍚俋, 瞳蚚 encoding 耀輸, 斕褫眕ш眢迡堤眕趼睫峈等弇腔最唗鎢, ?覤薦鱹?:

    #!/usr/bin/env perl
    # ゐ雄 euc-cn 趼揹賤昴; 梓袧怀堤?趧停縢撈簊騥暴駘? euc-cn 晤鎢
    use encoding 'euc-cn', STDIN => 'euc-cn', STDOUT => 'euc-cn';
    print length("醬邯");            #  2 (邧竘瘍桶尨趼睫)
    print length('醬邯');            #  4 (等竘瘍桶尨趼誹)
    print index("袘袘諒餃", "閤遢"); # -1 (祥婦漪森赽趼睫揹)
    print index('袘袘諒餃', '閤遢'); #  1 (植菴媼跺趼誹羲宎)

婓郔綴珨蹈瞰赽爵, "袘" 腔菴媼跺趼誹迵 "袘" 腔菴珨跺趼誹賦磁傖 EUC-CN
鎢腔 "閤"; "袘" 腔菴媼跺趼誹寀迵 "諒" 腔菴珨跺趼誹賦磁傖 "遢".
涴賤樵賸眕ヶ EUC-CN 鎢掀勤揭燴奻都獗腔恀枙.

=head2 塗俋腔笢恅晤鎢

?蝜?剒猁載嗣腔笢恅晤鎢, 褫眕植 CPAN (L<http://www.cpan.org/>) 狟婥
Encode::HanExtra 耀輸. 坳醴ヶ枑鼎狟蹈晤鎢源宒:

    gb18030     孺喃徹腔弊梓鎢, 婦漪楛极笢恅

鍚俋, Encode::HanConvert 耀輸寀枑鼎賸潠楛蛌遙蚚腔謗笱晤鎢:

    big5-simp   Big5 楛极笢恅迵 Unicode 潠极笢恅誑蛌
    gbk-trad    GBK 潠极笢恅迵 Unicode 楛极笢恅誑蛌

?譪郺? GBK 迵 Big5 眳潔誑蛌, ③統蕉蜆耀輸囀蜇腔 b2g.pl 迵 g2b.pl 謗盓最唗,
麼婓最唗囀妏蚚狟蹈迡楊:

    use Encode::HanConvert;
    $euc_cn = big5_to_gb($big5); # 植 Big5 蛌峈 GBK
    $big5 = gb_to_big5($euc_cn); # 植 GBK 蛌峈 Big5

=head2 輛珨祭腔陓洘

③統蕉 Perl 囀蜇腔湮講佽隴恅璃 (祥倷?封к譚?恅迡腔), 懂悝炾載嗣壽衾
Perl 腔眭妎, 眕摯 Unicode 腔妏蚚源宒. 祥徹, 俋窒腔訧埭眈絞猿蜓:

=head2 枑鼎 Perl 訧埭腔厙硊

=over 4

=item L<http://www.perl.com/>

Perl 腔忑珜 (蚕韁應獰鼠侗峎誘)

=item L<http://www.cpan.org/>

Perl 軘磁萎紲厙 (Comprehensive Perl Archive Network)

=item L<http://lists.perl.org/>

Perl 蚘菰蹦抭珨擬

=back

=head2 悝炾 Perl 腔厙硊

=over 4

=item L<http://www.oreilly.com.cn/html/perl.html>

潠极笢恅唳腔韁應獰 Perl 抎賢

=back

=head2 Perl 妏蚚氪摩頗

=over 4

=item L<http://www.pm.org/groups/asia.shtml#China>

笢弊 Perl 芢嫘郪珨擬

=back

=head2 Unicode 眈壽厙硊

=over 4

=item L<http://www.unicode.org/>

Unicode 悝扲悝頗 (Unicode 梓袧腔秶隅氪)

=item L<http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>

Unix/Linux 奻腔 UTF-8 摯 Unicode 湘諦恀

=back

=head1 SEE ALSO

L<Encode>, L<Encode::CN>, L<encoding>, L<perluniintro>, L<perlunicode>

=head1 AUTHORS

Jarkko Hietaniemi E<lt>[EMAIL PROTECTED]<gt>

Autrijus Tang (昄跁犖) E<lt>[EMAIL PROTECTED]<gt>

=cut

Attachment: msg01194/pgp00000.pgp
Description: PGP signature

Reply via email to