Man page - perltw(1)
Packages contas this manual
- perlhpux(1)
- perlgov(1)
- perlunicook(1)
- perlclib(1)
- perl5223delta(1)
- perlmodlib(1)
- perlrun(1)
- perllocale(1)
- perl5144delta(1)
- perlunifaq(1)
- perlclassguts(1)
- perlclass(1)
- perl5180delta(1)
- perlmod(1)
- perltodo(1)
- perl5263delta(1)
- perl5301delta(1)
- perlpragma(1)
- perl5125delta(1)
- perl5283delta(1)
- perlutil(1)
- perlcn(1)
- perl5142delta(1)
- perlpodspec(1)
- perl5202delta(1)
- perl561delta(1)
- perlsec(1)
- perl5244delta(1)
- perldiag(1)
- perlbot(1)
- perlfunc(1)
- perl5143delta(1)
- perl5342delta(1)
- perl5302delta(1)
- perl5343delta(1)
- perlhack(1)
- perl5122delta(1)
- perltrap(1)
- perldelta(1)
- perl5282delta(1)
- perlsyn(1)
- perl5124delta(1)
- perlpacktut(1)
- perl5101delta(1)
- perldtrace(1)
- perl5260delta(1)
- perlintern(1)
- perlreftut(1)
- perlfreebsd(1)
- perl5261delta(1)
- perl5280delta(1)
- perlpod(1)
- perl5203delta(1)
- perldeprecation(1)
- perl586delta(1)
- perl5240delta(1)
- perlreguts(1)
- perlre(1)
- perlriscos(1)
- perl5182delta(1)
- perlaix(1)
- perl5281delta(1)
- perlexperiment(1)
- perl58delta(1)
- perl5361delta(1)
- perl584delta(1)
- perlsolaris(1)
- perl5363delta(1)
- perl5241delta(1)
- perlperf(1)
- perlcygwin(1)
- perl5300delta(1)
- perl5401delta(1)
- perlvms(1)
- perlsecpolicy(1)
- perlxstypemap(1)
- perldocstyle(1)
- perlop(1)
- perl5362delta(1)
- perl5140delta(1)
- perlembed(1)
- perlbs2000(1)
- perlos400(1)
- perlrebackslash(1)
- perl5200delta(1)
- perlopentut(1)
- perlos2(1)
- perlstyle(1)
- perl56delta(1)
- perlfaq7(1)
- perldbmfilter(1)
- perlmodstyle(1)
- perl5222delta(1)
- perl5303delta(1)
- perl5181delta(1)
- perlcall(1)
- perl5381delta(1)
- perl5162delta(1)
- perlvar(1)
- perlxs(1)
- perlhaiku(1)
- perlsynology(1)
- perlnumber(1)
- perl5321delta(1)
- perl5243delta(1)
- perlamiga(1)
- perlref(1)
- perl5360delta(1)
- perl5161delta(1)
- perlunicode(1)
- perlapio(1)
- perltooc(1)
- perl588delta(1)
- perl5100delta(1)
- perldsc(1)
- perlgit(1)
- perlobj(1)
- perlmodinstall(1)
- perlopenbsd(1)
- perlbook(1)
- perl585delta(1)
- perlboot(1)
- perlfaq1(1)
- perlapi(1)
- perl5004delta(1)
- perl5121delta(1)
- perlretut(1)
- perlfaq3(1)
- perllexwarn(1)
- perl5224delta(1)
- perlipc(1)
- perliol(1)
- perl5221delta(1)
- perlglossary(1)
- perltoot(1)
- perl5382delta(1)
- perl5160delta(1)
- perlfaq9(1)
- perlxstut(1)
- perlpolicy(1)
- perlintro(1)
- perlandroid(1)
- perl5184delta(1)
- perl587delta(1)
- perlreref(1)
- perlreapi(1)
- perlhacktut(1)
- perluniintro(1)
- perlrecharclass(1)
- perlfaq6(1)
- perltw(1)
- perllol(1)
- perlfaq4(1)
- perldebtut(1)
- perlebcdic(1)
- perlko(1)
- perlqnx(1)
- perlhacktips(1)
- perlthrtut(1)
- perlvos(1)
- perl5340delta(1)
- perl5242delta(1)
- perlsub(1)
- perlform(1)
- perlnewmod(1)
- perl5141delta(1)
- perllinux(1)
- perldebguts(1)
- perl5120delta(1)
- perltoc(1)
- perlrequick(1)
- perlirix(1)
- perlfilter(1)
- perlport(1)
- perlfaq5(1)
- perlootut(1)
- perltie(1)
- perlfaq8(1)
- perl581delta(1)
- perldata(1)
- perl5163delta(1)
- perlartistic(1)
- perluniprops(1)
- perltru64(1)
- perl5201delta(1)
- perlinterp(1)
- perlpodstyle(1)
- perl5380delta(1)
- perl583delta(1)
- perlplan9(1)
- perlfaq2(1)
- perljp(1)
- perl5320delta(1)
- perlhist(1)
- perlunitut(1)
- perlos390(1)
- perldoc(1)
- perlmacosx(1)
- perlsource(1)
- perl5400delta(1)
- perlfork(1)
- perlhurd(1)
- perl5262delta(1)
- perl5220delta(1)
- perlmroapi(1)
- perlcheat(1)
- perlcommunity(1)
- perlfaq(1)
- perl5341delta(1)
- perlrepository(1)
- perl5123delta(1)
- perldebug(1)
- perlguts(1)
- perlwin32(1)
- perlgpl(1)
- perl582delta(1)
- perl589delta(1)
- perl5005delta(1)
apt-get install perl-doc
Manual
| PERLTW(1) | Perl Programmers Reference Guide | PERLTW(1) |
NAME
perltw - 正體中文 Perl 指南
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 -MEncode -pe '$_= encode( utf8 => decode( big5 => $_ ) )' \
< 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
另外,若程式碼本身以 utf8 編碼儲存,配合使用 utf8 模組,可讓程式碼中字串以及其運 算皆以字符為單位,而不以位元為單位,如下所示:
#!/usr/bin/env perl
use utf8;
print length("駱駝"); # 2 (不是 6)
print index("諄諄教誨", "教誨"); # 2 (從 0 起算第 2 個字符)
額外的中文編碼
如果需要更多的中文編碼, 可以從 CPAN (<https://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
進一步的資訊
請參考 Perl 內附的大量說明文件 (不幸全是用英文寫的), 來學習更多關於 Perl 的知識, 以及 Unicode 的使用方式. 不過, 外部的資源相當豐富:
提供 Perl 資源的網址
- <https://www.perl.org/>
- Perl 的首頁
- <https://www.perl.com/>
- 由 Perl 基金會所營運的文章輯錄
- <https://www.cpan.org/>
- Perl 綜合典藏網 (Comprehensive Perl Archive Network)
- <https://lists.perl.org/>
- Perl 郵遞論壇一覽
學習 Perl 的網址
- <http://www.oreilly.com.cn/index.php?func=booklist&cat=68>
- 正體中文版的歐萊禮 Perl 書藉
Perl 使用者集會
- <https://www.pm.org/groups/taiwan.html>
- 臺灣 Perl 推廣組一覽
- <irc://chat.freenode.org/#perl.tw>
- Perl.tw 線上聊天室
Unicode 相關網址
- <https://www.unicode.org/>
- Unicode 學術學會 (Unicode 標準的制定者)
- <http://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
- Unix/Linux 上的 UTF-8 及 Unicode 答客問
中文化資訊
- 中文化軟體聯盟
- <http://www.cpatch.org/>
SEE ALSO
Encode, Encode::TW, perluniintro, perlunicode
AUTHORS
Jarkko Hietaniemi <jhi@iki.fi>
Audrey Tang (唐鳳) <audreyt@audreyt.org>
| 2025-07-27 | perl v5.40.1 |