perljp − æ¥æ¬èª Perl ã¬ã¤ã
Perl ã®ä¸çã¸ãããã!
Perl 5.8.0 ãããUnicodeãµãã¼ãã大å¹ã«å¼·åããããã®çµæã©ãã³æå以å¤ã®æå- ã³ã¼ãã®ãµãã¼ãã CJK (ä¸- å½èªãæ¥æ¬èªããã³ã°ã«)ãå«ãã¦å ããã¾ãããUnicodeã¯ä¸çä¸ã®æåãä¸ã¤ã®æå- ã³ã¼ãã§æ±ããã¨ãç®æããæ¨æºè¦æ ¼ã§ãããæ±ãã西ãã¯ãã¾ããã®éã®æåï¼ã®ãªã·ã£æåãã- ãªã¼ã«æåãã¢ã©ãã¢æåãããã©ã¤æåããã£ã¼ã´ã¡ãã¬ã¼ãªæå- ããªã©ãªã©ï¼ããããã¾ã§ã¯OSãã³ãã¼ãç¬èªã«å®ãã¦ããæå- (PCããã³Macintosh)ããã§ã«å«ã¾ãã¦ãã¾ãã
Perl èªèº«ã¯ Unicode ã§åä½ãã¾ããPerl ã¹ã¯ãªããåã®æååãªãã©ã«ãæ£è¦è¡¨ç¾ã¯ Unicode ãåæã¨ãã¦ãã¾ããããã¦å¥åºåã®ããã«ã¯ãããã¾ã§ä½¿ããã¦ãããã¾ãã¾ãªæå- ã³ã¼ãã«å¯¾å¿ããã¢ã¸ã¥ã¼ã«ãã Encode ããæ¨æºè£åããã¦ãããUnicode ã¨ãããã®æå- ã³ã¼ãã®ç¸äºå¤æãç°¡åã«è¡ããããã«ãªã£ã¦ãã¾ãã
ç¾æç¹ã§ Encode ããµãã¼ãããæåã³ã¼ãã¯ä»¥ä¸ã®ã¨ããã§ãã
7bit−jis
AdobeStandardEncoding AdobeSymbol AdobeZdingbat
ascii big5 big5−hkscs cp1006
cp1026 cp1047 cp1250 cp1251
cp1252 cp1253 cp1254 cp1255
cp1256 cp1257 cp1258 cp37
cp424 cp437 cp500 cp737
cp775 cp850 cp852 cp855
cp856 cp857 cp860 cp861
cp862 cp863 cp864 cp865
cp866 cp869 cp874 cp875
cp932 cp936 cp949 cp950
dingbats euc−cn euc−jp euc−kr
gb12345−raw gb2312−raw gsm0338 hp−roman8
hz iso−2022−jp iso−2022−jp−1
iso−8859−1
iso−8859−10 iso−8859−11
iso−8859−13 iso−8859−14
iso−8859−15 iso−8859−16
iso−8859−2 iso−8859−3
iso−8859−4 iso−8859−5
iso−8859−6 iso−8859−7
iso−8859−8 iso−8859−9
iso−ir−165 jis0201−raw
jis0208−raw jis0212−raw johab koi8−f
koi8−r koi8−u ksc5601−raw MacArabic
MacCentralEurRoman MacChineseSimp MacChineseTrad MacCroatian
MacCyrillic MacDingbats MacFarsi MacGreek
MacHebrew MacIcelandic MacJapanese MacKorean
MacRoman MacRomanian MacRumanian MacSami
MacSymbol MacThai MacTurkish MacUkrainian
nextstep posix−bc shiftjis symbol
UCS−2BE UCS−2LE UTF−16 UTF−16BE
UTF−16LE UTF−32 UTF−32BE UTF−32LE
utf8 viscii
(å¨114種é¡)
ä¾ãã°ãæåã³ã¼ãFOOã®ãã¡ã¤ã«ãUTF−8ã«å¤æããã«ã¯ã以ä¸ã®ããã«ãã¾ãã
perl −Mencoding=FOO,STDOUT,utf8 −pe1 < file.FOO > file.utf8
ã¾ããPerlã«ã¯ãå¨é¨ãPerlã§æ¸ãããæå- ã³ã¼ãå¤æã¦ã¼ãã£ãªãã£ãpiconvãä»å±ãã¦ããã®ã§ã以ä¸ã®ããã«ãããã¨ãã§ãã¾ãã
piconv −f
FOO −t utf8 < file.FOO > file.utf8
piconv −f utf8 −t FOO < file.utf8 >
file.FOO
5.8以åã®ãã¹ã¯ãªãããEUC−JPã§ããã°ãªãã©ã«ã ãã¯æ±ããã¨ãã§ãã¾ãããã¾ããå¥åºåãæ±ãã¢ã¸ã¥ã¼ã«ã¨ãã¦ã¯Jcode.pmã( <http://openlab.ring.gr.jp/Jcode/> )ãperl4ç¨ã®ã¦ã¼ãã£ãªãã£ã¨ãã¦ã¯jcode.plãããããå- å¨ããæ¥æ¬èªã®æ±ããCGIã§ããå©ç¨ããã¦ãããã¨ã御å- ãã®æ¹ãå°ãªããªããã¨æããã¾ãããã ããæ¥æ¬èªã«ããæ- £è¦è¡¨ç¾ããã¾ãæ±ããã¨ã¯ä¸å¯è½ã§ããã
5.005以åã®Perlã«ã¯ãæ¥æ¬èªã«ç¹åãããã¼ã«ã©ã¤ãºçãJperlãåå¨ãã¾ãã( <http://homepage2.nifty.com/kipp/perl/jperl/index.html> â»1)ãã¾ããMac OS 9.x/Classicç¨ã®PerlãMacPerlã®æ¥æ¬èªçãMacJPerlã¨ãã¦åå¨ãã¦ã¾ããã( <https://habilis.net/macjperl/> ).ãããã§ã¯æå- ã³ã¼ãã¨ãã¦EUC−JPã«å ãShift_JISããã®ã¾ã¾æ±ããã¨ãã§ããã¾ãæ¥æ¬èªã«ããæ- £è¦è¡¨ç¾ãæ±ããã¨ãå¯è½ã§ããã
Perl5.8ã§ã¯ããããã®æ©è½ããã¹ã¦Perlæ¬ä½ã ãã§å®ç¾ã§ããä¸ã«ãæ¥æ¬èªã®ã¿ãªããä¸è¨114ã®æå- ã³ã¼ãããã¹ã¦ããããåæã«æ±ããã¨ãã§ãã¾ããããã«ãCPANãªã©ããæ°ããæå- ã³ã¼ãç¨ã®ã¢ã¸ã¥ã¼ã«ãå¥æãããã¨ãç°¡åã«ã§ããããã«ãªã£ã¦ãã¾ãã
â»1: ãã¹ãã£ã³ã°ãµã¼ãã¹ã®çµäºã«ããç¾å¨ã¯é²è¦§ã§ãã¾ããã Vector( <https://www.vector.co.jp/soft/win95/util/se098198.html> )ããWindowç¨ã®ãã¤ããªããCPAN( <https://www.cpan.org/src/unsupported/4.036/jperl/> )ããperl4ç¨ã®ããããå¥æãããã¨ãã§ãã¾ãã
• |
å¥åºå |
以ä¸ã®ä¾ã¯ããããShift_JISã®å¥åãEUC−JPã«å¤æãã¦åºåãã¾ãã
# jcode.pl
require "jcode.pl";
while(<>){
jcode::convert(*_, 'euc', 'sjis');
print;
}
# Jcode.pm
use Jcode;
while(<>){
print Jcode−>new($_, 'sjis')−>euc;
}
# Perl 5.8
use Encode;
while(<>){
from_to($_, 'shiftjis', 'euc−jp');
print;
}
# Perl 5.8 − encoding
ãå©ç¨ãã¦
use encoding 'euc−jp', STDIN => 'shiftjis';
while(<>){
print;
}
• |
Jperl äºæã¹ã¯ãªãã |
ãããã"shebang"ãå¤æ´ããããã§ãJperlç¨ã®scriptã®ã»ã¨ãã©ã¯å¤æ´ãªãã«å©ç¨å¯è½ãã¨æããã¾ãã
#!/path/to/jperl
â
#!/path/to/perl −Mencoding=euc−jp
詳ãã㯠perldoc encoding ãåç§ãã¦ãã ããã
Perlã«ã¯è¨å¤§ãªè³æãä»å±ãã¦ãããPerlã®æ°æ©è½ãUnicodeãµãã¼ããããã¦Encodeã¢ã¸ã¥ã¼ã«ã®ä½¿ç¨æ³ãªã©ãç´°ãã網ç¾ããã¦ãã¾ãï¼æ®å¿µãªãããã»ã¨ãã©è±èªã§ã¯ããã¾ããï¼ã以ä¸ã®ã³ãã³ãã§ãããã®ä¸é¨ãé²è¦§ãããã¨ãå¯è½ã§ãã
perldoc
perlunicode #
Perlã®Unicodeãµãã¼ãå¨è¬
perldoc Encode #
Encodeã¢ã¸ã¥ã¼ã«ã«é¢ãã¦
perldoc Encode::JP #
ãã¡æ¥æ¬èªæåã³ã¼ãã«é¢ãã¦
<https://www.perl.org/>
Perl ãã¼ã ãã¼ã¸
<https://www.perl.com/>
Perl 財å£ãå¶æ¥ããæç« ä½åé
<https://www.cpan.org/>
CPAN (Comprehensive Perl Archive Network)
<https://metacpan.org/>
MetaCPAN CPANã®æ¤ç´¢ã¨ã³ã¸ã³
<https://lists.perl.org/>
Perl ã¡ã¼ãªã³ã°ãªã¹ãé
<https://perldoc.jp/>
perldoc.jp Perl ã®å¬å¼ããã¥ã¡ã³ããã¢ã¸ã¥ã¼ã«ããã¥ã¡ã³ãã®æ¥æ¬èªè¨³
<http://www.oreilly.com.cn/>
O’Reilly 社ã®Perlé¢é£æ¸ç±(ç°¡ä½åä¸å½èª)
<https://www.oreilly.co.jp/catalog/>
ãªã©ã¤ãªã¼ç¤¾ã®Perlé¢é£æ¸ç±(æ¥æ¬èª)
<https://www.pm.org/groups/asia.html>
ã¢ã¸ã¢å°åã® Perl Mongers (Perlã®ã¦ã¼ã¶ã¼ã°ã«ã¼ã) ä¸è¦§
<https://japan.perlassociation.org>
ä¸è¬ç¤¾å£æ³äººJapan Perl Association (JPA) Perlæè¡åã³æåã®åèã»ä¿é²ã®ããã®çµç¹
<https://www.unicode.org/>
Unicode ã³ã³ã½ã¼ã·ã¢ã (Unicodeè¦æ ¼ã®é¸å®å£ä½)
<https://www.cl.cam.ac.uk/%7Emgk25/unicode.html>
UTF−8 and Unicode FAQ for Unix/Linux
<https://wiki.kldp.org/Translations/html/UTF8−Unicode−KLDP/UTF8−Unicode−KLDP.html>
UTF−8 and Unicode FAQ for Unix/Linux (ãã³ã°ã«è¨³)
• |
Jarkko Hietaniemi <[email protected]> |
|||
• |
Dan Kogai (å°é£¼ãå¼¾) <[email protected]> |
|||
• |
Shogo Ichinose (ä¸éç¬ãç¿å¾) <[email protected]> |