perltw - 正體中文 Perl 指南

NAME  DESCRIPTION  é¡å¤çä¸æ編碼  é²ä¸æ¥çè³è¨  æä¾ Perl è³æºçç¶²å  å¸ç¿ Perl çç¶²å  Perl 使ç¨èéæ  Unicode ç¸éç¶²å  ä¸æåè³è¨  SEE ALSO  AUTHORS 

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 <[email protected]>

Audrey Tang (åé³³) <[email protected]>


Updated 2024-01-29 - jenkler.se | uex.se