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