perlko − íêµì´ Perl ìë´ì
Perlì ì¸ê³ì ì¤ì ê²ì íìí©ëë¤!
Perlì ê°ë ’Practical Extraction and Report Language’ë¼ê³ í기ë í©ëë¤ë§ ë¤ë¥¸ ë리 ìë ¤ì§ ê²ë¤ ì¤ìì ’Pathologically Eclectic Rubbish Lister’ë¼ê³ í기ë í©ëë¤. ì¬ì¤ ì´ê²ì ë¼ì ë§ì¶ ê²ì´ë©° Perlì´ ì´ê²ë¤ì 첫 ê¸ì를 ê°ì ¸ìì ì´ë¦ì ë¶ì¸ ê²ì ìëëë¤. Perlì ì°½ìì Larryê° ì²« ë²ì§¸ ì´ë¦ì 먼ì ìê°íê³ ë리 ìë ¤ì§ ê²ì ëì¤ì ì§ì기 ë문ìëë¤. ê·¸ë 기 ëë¬¸ì ’Perl’ì 모ë ë문ìê° ìëëë¤. ë리 ìë ¤ì§ ì´ë¤ ê²ì ê°ì§ê³ ë¼ìíë ê²ì ìë¯¸ê° ììµëë¤. Larryë ë ê° ë¤ ì§ì§í©ëë¤.
ê°ë pê° ì문ìë¡ ìì±ë ’perl’ì ë³¼ ê²ìëë¤. Pê° ë문ìë¡ ëì´ ìë ’Perl’ì ì¸ì´ë¥¼ 참조í ë ì°ì´ë©° ’perl’ì²ë¼ pê° ì문ìì¸ ê²½ì°ë ì¬ë¬ë¶ì íë¡ê·¸ë¨ì ì»´íì¼íê³ ë릴 ë ì¬ì©ëë í´ì기를 ì§ì¹í ë ì¬ì©ë©ëë¤.
Perlì 본ë 문ìì´ ìì±ì ìí´ ë§ë¤ì¡ì§ë§ ì§ê¸ì ìì¤í ê´ë¦¬ì ì¹ ê°ë°, ë¤í¸ìí¬ íë¡ê·¸ëë°, GUI ê°ë° ë±ì í¬í¨í ì¬ë¬ ë¶ì¼ìì ë리 ì¬ì©ëë ë²ì© íë¡ê·¸ëë° ì¸ì´ìëë¤.
ì´ ì¸ì´ë ìë¦ë¤ì(ì주 ìê³ , ì°ìíê³ , ì주 ì ê³ )ë³´ë¤ ì¤ì©ì (ì¬ì©í기 ì½ê³ , í¨ì¨ì ì´ë©°, ê°ë¥í ìµëí)ì¸ ê²ì ì§í¥íê³ ììµëë¤. ì¬ì©í기 ì½ê³ , ì ì°¨ì íë¡ê·¸ëë°ê³¼ ê°ì²´ ì§í¥ íë¡ê·¸ëë°ì 모ë ì§ìíê³ , ê°ë ¥í 문ìì´ ì²ë¦¬ 기ë¥ì ë´ì¥íê³ , ì¸ììì ê°ì¥ ì¸ìì ì¸ ì 3ìì 모ë 모ìì²ë¥¼ ê°ì§ê³ ìë¤ë ê²ì Perlì ê°ì¥ ì¤ìí í¹ì§ìëë¤.
Perlì ì¸ì´ì í¹ì§ì pod/perlintro.pod 문ììì ìê°í©ëë¤.
ì´ë² 릴리ì¤ìì ê°ì¥ ì¤ìí ë³íë pod/perldelta.podìì ë¼ìí©ëë¤.
ëí ë¤ìí ì¶íì¬ê° ì¶íí ë§ì Perl ì±ì ë¤ìí 주ì 를 ë¤ë£¨ê³ ììµëë¤. ìì¸í ì ë³´ë pod/perlbook.pod 문ì를 íì¸íì¸ì.
ì¬ë¬ë¶ì´ ë¹êµì íëì ì´ìì²´ì 를 ì¬ì©íê³ ìê³ íì¬ ë²ì ì Perlì ì§ìì ì¼ë¡ ì¤ì¹íê³ ì¶ë¤ë©´ ë¤ì ëªë ¹ì ì¤ííì¸ì.
./Configure
−des −Dprefix=$HOME/localperl
make test
make install
ìì ëªë ¹ì ì¬ë¬ë¶ì íë«í¼ì ë§ê² íê²½ì ì¤ì íê³ ì»´íì¼ì ìíí í, í기 íì¤í¸ë¥¼ ìííë¤, í ëë í°ë¦¬ íë¶ì localperl ëë í°ë¦¬ì perlì ì¤ì¹í©ëë¤.
ì¬ë¬ë¶ì´ ì´ë í 문ì ë ê²ªê² ëê±°ë ì¬ì©ì ì ì ë²ì Perlì ì¤ì¹í íìê° ìë¤ë©´ íì¬ ë°°í¬íì ë¤ì´ìë INSTALL íì¼ ìì ìì¸í ì¤ëªì ì½ì´ì¼ í©ëë¤. ì¶ê°ì ì¼ë¡ ì¼ë°ì ì´ì§ ìì ë¤ìí íë«í¼ìì Perlì ë¹ëíê³ ì¬ì©íë ë°©ë²ì ëí ëìë§ê³¼ ê·ëì´ ì íìë ë§ì ìì README íì¼ì´ ììµëë¤.
ì¼ë¨ Perlì ì¤ì¹íê³ ëë©´ "perldoc" ë구를 ì´ì©í´ íë¶í 문ì를 ì¬ì©í ì ììµëë¤. ììí기 ìí´ì ë¤ì ëªë ¹ì ì¤ííì¸ì.
perldoc perl
Perlì ë¨ê°ì§ìì ë¶í° ë¡ì¼ ê³¼íê¹ì§ 모ë ë¶ì¼ìì ì¬ì©í ì ìë í¬ê³ ë³µì¡í ìì¤íìëë¤. ì¬ë¬ë¶ì´ ì´ë ¤ìì ë¶ëªíìë ê·¸ 문ì ë ì´ë¯¸ ë¤ë¥¸ ì¬ëì´ í´ê²°íì ê°ë¥ì±ì´ ëìµëë¤. 문ì를 모ë íì¸íëë°ë ë²ê·¸ê° íì¤íë¤ë©´ "perlbug" ë구를 ì´ì©í´ì ì í¬ìê² ë²ê·¸ë¥¼ ë³´ê³ í´ì£¼ì¸ì. "perlbug"ì ëí ë ìì¸í ì ë³´ë "perldoc perlbug" ëë "perlbug"를 ëªë ¹ì¤ìì ì¤íí´ì íì¸í ì ììµëë¤.
Perlì ì¬ì© ê°ë¥íê² ë§ë¤ìë¤ íëë¼ë Perlì ê³ìí´ì ì§íí기 ë문ì ì¬ë¬ë¶ì´ ë§ë¥ë¨ë¦° ë²ê·¸ë¥¼ ìì íê±°ë ì¬ë¬ë¶ì´ ì ì©íë¤ê³ ìê°í ë²í ìë¡ì´ 기ë¥ì´ ì¶ê°ë ì¢ ë ìµì ë²ì ì´ ìì ì ììµëë¤.
ì¬ë¬ë¶ì íì ìµì ë²ì ì perlì CPAN (Comprehensive Perl Archive Network) ì¬ì´í¸ <http://www.cpan.org/src/> ìì ì°¾ì ì ììµëë¤.
perl ìì¤ì ê°ë¨í í¨ì¹ë¥¼ ë±ë¡íê³ ì¶ë¤ë©´ pod/perlhack.pod 문ìì "SUPER QUICK PATCH GUIDE"를 ì´í´ë³´ì¸ì.
ê·¸ë¥ ê°ì¸ì ì¼ë¡ ì°¸ê³ íì¸ì. ì ê° ì´ê²ì²ë¼ ë©ì§ 물건ì ë§ë ë¤ë ê²ì ì¬ë¬ë¶ì´ ì기를 ë°ëëë¤. ê·¸ê²ì ì ì´ì¼ê¸°ì "ì ì(Author)"를 기ìê²í기 ë문ìëë¤. ì´ê²ì´ ì¬ë¬ë¶ì ê·ì°®ê² íë¤ë©´ ì¬ë¬ë¶ì "ì ì(Authorship)"ì ëí ìê°ì ì ì í´ì¼ í ìë ììµëë¤. íì§ë§ ì´ì¨ê±°ë ì¬ë¬ë¶ì Perlì ì¬ì©íëë°ë 문ì ê° ìëµëë¤. :−)
− "ì ì"ë¡ë¶í°.
Perlì 5.8.0íë¶í° ì ëì½ë/ISO 10646ì ëí´ ê´ë²ìíê² ì§ìí©ëë¤. ì ëì½ë ì§ìì ì¼íì¼ë¡ íì¤ì¼ì ë¹ë¡¯í ì¸ê³ ê°êµìì ì ëì½ë ì´ì ì ì°ê³ ììê³ ì§ê¸ë ë리 ì°ì´ê³ ìë ìë§ì ì¸ì½ë©ì ì§ìí©ëë¤. ì ëì½ëë ì ì¸ê³ìì ì°ì´ë 모ë ì¸ì´ë¥¼ ìí í기 ì²´ê³(ì ë½ì ë¼í´ ìíë²³, í¤ë¦´ ìíë²³, ê·¸ë¦¬ì¤ ìíë²³, ì¸ëì ëë¨ ìììì ë¸ë¼ë¯¸ ê³ì´ ì¤í¬ë¦½í¸, ìë 문ì, íë¸ë¦¬ 문ì, íì¤ì¼ì íì, íêµì´ì íê¸, ì¼ë³¸ì´ì ê°ë, ë¶ë¯¸ ì¸ëìì í기 ì²´ê³ ë±)를 ìì©íë ê²ì 목íë¡ íê³ ì기 ë문ì 기존ì ì°ì´ë ê° ì¸ì´ ë° êµê° ê·¸ë¦¬ê³ ì´ì ì²´ê³ì ê³ ì í 문ì ì§í©ê³¼ ì¸ì½ë©ì ì¸ ì ìë 모ë ê¸ìë ë¬¼ë¡ ì´ê³ 기존 문ì ì§í©ìì ì§ìíê³ ìì§ ìë ì주 ë§ì ê¸ì를 í¬í¨íê³ ììµëë¤.
Perlì ë´ë¶ì ì¼ë¡ ì ëì½ë를 문ì ííì ìí´ ì¬ì©í©ëë¤. ë³´ë¤ êµ¬ì²´ì ì¼ë¡ ë§íë©´ Perl ì¤í¬ë¦½í¸ ììì UTF−8 문ìì´ì ì¸ ì ìê³ , ê°ì¢ í¨ìì ì°ì°ì(ì를 ë¤ì´, ì ê·ì, index, substr)ê° ë°ì´í¸ ë¨ì ëì ì ëì½ë ê¸ì ë¨ìë¡ ëìí©ëë¤. ë ìì¸í ê²ì pod/perlunicode.pod 문ì를 ì°¸ê³ íì¸ì. ì ëì½ëê° ë리 ë³´ê¸ë기 ì ì ë리 ì°ì´ê³ ììê³ , ì¬ì í ë리 ì°ì´ê³ ìë ê°êµ/ê° ì¸ì´ë³ ì¸ì½ë©ì¼ë¡ ìì¶ë ¥ì íê³ ì´ë¤ ì¸ì½ë©ì¼ë¡ ë ë°ì´í°ì 문ì를 ë¤ë£¨ë ê²ì ë기 ìí´ Encode 모ëì´ ì°ì´ê³ ììµëë¤. 무ìë³´ë¤ Encode 모ëì ì¬ì©íë©´ ìë§ì ì¸ì½ë© ì¬ì´ì ë³íì ì½ê² í ì ììµëë¤.
ì§ì ì¸ì½ë©
Encode 모ëì ë¤ìê³¼ ê°ì íêµì´ ì¸ì½ë©ì ì§ìí©ëë¤.
• |
"euc−kr" |
US−ASCIIì KS X 1001ì ê°ì´ ì°ë ë©í°ë°ì´í¸ ì¸ì½ë©ì¼ë¡ íí ìì±íì´ë¼ê³ ë¶ë¦¼. KS X 2901ê³¼ RFC 1557 ì°¸ê³ .
• |
"cp949" |
MS-Windows 9x/MEìì ì°ì´ë íì¥ ìì±í. euc−krì 8,822ìì íê¸ ìì ì ëí ê²ì. aliasë uhc, windows−949, x−windows−949, ks_c_5601−1987. 맨 ë§ì§ë§ ì´ë¦ì ì ì íì§ ìì ì´ë¦ì´ì§ë§, Microsoft ì íìì CP949ì ìë¯¸ë¡ ì°ì´ê³ ìì.
• |
"johab" |
KS X 1001:1998 ë¶ë¡ 3ìì ê·ì í ì¡°í©í. 문ì ë í¼í 리ë cp949ì ë§ì°¬ê°ì§ë¡ US−ASCIIì KS X 1001ì 8,822ìì íê¸ ìì ì ëí ê²ì¼ë¡ ì¸ì½ë© ë°©ìì ì í ë¤ë¦.
• |
"iso−2022−kr" |
RFC 1557ìì ê·ì í íêµì´ ì¸í°ë· ë©ì¼ êµíì© ì¸ì½ë©ì¼ë¡ US−ASCIIì KS X 1001ì ë í¼í ë¦¬ë¡ íë ì ìì euc−krê³¼ ê°ì§ë§ ì¸ì½ë© ë°©ìì´ ë¤ë¦. 1997−8ë ê²½ê¹ì§ ì°ìì¼ë ë ì´ì ë©ì¼ êµíì ì°ì´ì§ ìì.
• |
"ksc5601−raw" |
KS X 1001(KS C 5601)ì GL(ì¦, MSB를 0ì¼ë¡ í ê²½ì°)ì ëìì ëì ì¸ì½ë©. US−ASCIIì ê²°í©íì§ ìê³ ë¨ëì¼ë¡ ì°ì´ë ì¼ì X11 ë±ìì ê¸ê¼´ ì¸ì½ë©(ksc5601.1987−0. ’0’ì GLì ì미í¨)ì¼ë¡ ì°ì´ë ê²ì ì ì¸íê³ ë ê±°ì ìì. KS C 5601ì 1997ë KS X 1001ë¡ ì´ë¦ì ë°ê¾¸ìì. 1998ëìë ë ê¸ì(ì ë¡í ë¶í¸ì ë±ë¡ ìí ë¶í¸)ê° ëí´ì¡ì.
ë³í ìì
ì를 ë¤ì´, euc-kr ì¸ì½ë©ì¼ë¡ ë íì¼ì UTF−8ë¡ ë³ííë ¤ë©´ ëªë ¹ì¤ìì ë¤ìì²ë¼ ì¤íí©ëë¤.
perl −Mencoding=euc−kr,STDOUT,utf8 −pe1 < file.euc−kr > file.utf8
ë°ëë¡ ë³íí ê²½ì° ë¤ìì²ë¼ ì¤íí©ëë¤.
perl −Mencoding=utf8,STDOUT,euc−kr −pe1 < file.utf8 > file.euc−kr
ì´ë° ë³íì ì¢ë í¸ë¦¬íê² í ì ìëë¡ ëì주ë piconvê° Perlì 기본ì¼ë¡ ë¤ì´ììµëë¤. ì´ ì í¸ë¦¬í°ë Encode 모ëì ì´ì©í ìì Perl ì í¸ë¦¬í°ë¡ ì´ë¦ìì ì ì ìë¯ì´ Unixì "iconv"를 모ë¸ë¡ í ê²ìëë¤. ì¬ì©ë²ì ë¤ìê³¼ ê°ìµëë¤.
piconv −f
euc−kr −t utf8 < file.euc−kr >
file.utf8
piconv −f utf8 −t euc−kr < file.utf8
> file.euc−kr
ëª¨ë² ì¬ë¡
Perlì 기본ì ì¼ë¡ ë´ë¶ìì UTF−8ì ì¬ì©íë©° Encode 모ëì íµí´ ë¤ìí ì¸ì½ë©ì ì§ìíì§ë§ íì ë¤ì ê·ì¹ì ì§í´ì¼ë¡ì¨ ì¸ì½ë©ê³¼ ê´ë ¨í ë¤ìíê² ë°ìí ì ìë 문ì ì ê°ë¥ì±ì ì¤ì´ë ê²ì ì¶ì²í©ëë¤.
• |
ìì¤ ì½ëë íì UTF−8 ì¸ì½ë©ì¼ë¡ ì ì¥ |
|||
• |
ìì¤ ì½ë ìë¨ì "use utf8;" íë¼ê·¸ë§ ì¬ì© |
|||
• |
ìì¤ ì½ë, í°ë¯¸ë, ì´ìì²´ì , ë°ì´í° ì¸ì½ë©ì ë¶ë¦¬í´ì ì´í´ |
|||
• |
ìì¶ë ¥ íì¼ í¸ë¤ì ëªìì ì¸ ì¸ì½ë©ì ì¬ì© |
|||
• |
ì¤ë³µ(double) ì¸ì½ë©ì 주ì |
ì ëì½ë ë° íêµì´ ì¸ì½ë© ê´ë ¨ ìë£
• |
perluniintro |
|||
• |
perlunicode |
|||
• |
Encode |
|||
• |
Encode::KR |
|||
• |
encoding |
|||
• |
<https://www.unicode.org/> |
ì ëì½ë 컨ììì
• |
<http://std.dkuug.dk/JTC1/SC2/WG2> |
기본ì ì¼ë¡ Unicodeì ê°ì ISO íì¤ì¸ ISO/IEC 10646 UCS(Universal Character Set)ì ë§ëë ISO/IEC JTC1/SC2/WG2ì ì¹ íì´ì§
• |
<https://www.cl.cam.ac.uk/˜mgk25/unicode.html> |
ì ëì¤/리ëì¤ ì¬ì©ì를 ìí UTF−8 ë° ì ëì½ë ê´ë ¨ FAQ
• |
<http://wiki.kldp.org/Translations/html/UTF8−Unicode−KLDP/UTF8−Unicode−KLDP.html> |
ì ëì¤/리ëì¤ ì¬ì©ì를 ìí UTF−8 ë° ì ëì½ë ê´ë ¨ FAQì íêµì´ ë²ì
ë¤ìì ê³µìì ì¸ Perl ê´ë ¨ ìë£ì¤ ì¼ë¶ìëë¤.
• |
<https://www.perl.org/> |
Perl ê³µì ííì´ì§
• |
<https://www.perl.com/> |
O’Reillyì Perl ì¹ íì´ì§
• |
<https://www.cpan.org/> |
CPAN − Comprehensive Perl Archive Network, íµí©ì Perl íì¼ ë³´ê´ ë¤í¸ìí¬
• |
<https://metacpan.org> |
ë©í CPAN
• |
<https://lists.perl.org/> |
Perl ë©ì¼ë§ 리ì¤í¸
• |
<http://blogs.perl.org/> |
Perl ë©í ë¸ë¡ê·¸
• |
<https://www.perlmonks.org/> |
Perl ìëì¹ë¤ì ìí ìëì
• |
<https://www.pm.org/groups/asia.html> |
ììì ì§ì Perl ëª½ê±°ì¤ ëª¨ì
• |
<http://www.perladvent.org/> |
Perl í¬ë¦¬ì¤ë§ì¤ ë¬ë ¥
ë¤ìì Perlì ë ê¹ê² ê³µë¶íëë° ëìì ì¤ ì ìë íêµì´ ê´ë ¨ ì¬ì´í¸ìëë¤.
• |
<https://perl.kr/> |
íêµ Perl 커뮤ëí° ê³µì í¬í¸
• |
<https://doc.perl.kr/> |
Perl 문ì íê¸í íë¡ì í¸
• |
<https://cafe.naver.com/perlstudy.cafe> |
ë¤ì´ë² Perl ì¹´í
• |
<http://www.perl.or.kr/> |
íêµ Perl ì¬ì©ì 모ì
• |
<https://advent.perl.kr> |
Seoul.pm Perl í¬ë¦¬ì¤ë§ì¤ ë¬ë ¥ (2010 ˜ 2012)
• |
<http://gypark.pe.kr/wiki/Perl> |
GYPARK(Geunyoung Park)ì Perl ê´ë ¨ íê¸ ë¬¸ì ì ì¥ì
README íì¼ì ’LICENSING’ í목ì ì°¸ê³ íì¸ì.
• |
Jarkko Hietaniemi <[email protected]> |
|||
• |
ì ì ì <[email protected]> |
|||
• |
ê¹ëí <[email protected]> |