perlcn - 简体中文 Perl 指南

NAME  DESCRIPTION  é¢å¤çä¸æç¼ç  è¿ä¸æ¥ç信毠 æä¾ Perl èµæºçç½å  å¦ä¹  Perl çç½å  Perl 使ç¨èéä¼  Unicode ç¸å³ç½å  SEE ALSO  AUTHORS 

NAME

perlcn − ç®ä½ä¸æ Perl æå

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 ç å¹éå¤çä¸å¸¸è§çé®é¢.

é¢å¤çä¸æç¼ç

å¦æéè¦æ´å¤çä¸æç¼ç , å¯ä»¥ä» CPAN (<https://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

è¿ä¸æ¥çä¿¡æ¯

请åè 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/asia.html>

ä¸å½ Perl æ¨å¹¿ç»ä¸è§

Unicode ç¸å³ç½å

<https://www.unicode.org/>

Unicode å¦æ¯å¦ä¼ (Unicode æ åçå¶å®è)

<https://www.cl.cam.ac.uk/%7Emgk25/unicode.html>

Unix/Linux ä¸ç UTF−8 å Unicode 常è§é®é¢è§£ç

SEE ALSO

Encode, Encode::CN, encoding, perluniintro, perlunicode

AUTHORS

Jarkko Hietaniemi <[email protected]>

Audrey Tang (åå¤) <[email protected]>

Sizhe Zhao <[email protected]>


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