ÿØÿàJFIFxxÿÛC      ÿÛC  ÿÀ"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ# vim: syntax=pod ì´ íŒŒì¼ì„ ë‚´ìš© 그대로 ì½ê³  있다면 우스ê½ìŠ¤ëŸ¬ìš´ 문ìžëŠ” 무시해주세요. ì´ ë¬¸ì„œëŠ” POD로 ì½ì„ 수 있ë„ë¡ POD 형ì‹(F 문서를 확ì¸í•˜ì„¸ìš”)으로 작성ë˜ì–´ 있습니다. =encoding utf8 =head1 NAME perlko - 한국어 Perl 안내서 =head1 DESCRIPTION Perlì˜ ì„¸ê³„ì— ì˜¤ì‹  ê²ƒì„ í™˜ì˜í•©ë‹ˆë‹¤! Perlì€ ê°€ë” B<'Practical Extraction and Report Language'>ë¼ê³  í•˜ê¸°ë„ í•©ë‹ˆë‹¤ë§Œ 다른 ë„리 알려진 것들 중ì—서 B<'Pathologically Eclectic Rubbish Lister'>ë¼ê³  í•˜ê¸°ë„ í•©ë‹ˆë‹¤. 사실 ì´ê²ƒì€ ë¼ì›Œ 맞춘 것ì´ë©° Perlì´ ì´ê²ƒë“¤ì˜ 첫 글ìžë¥¼ 가져와서 ì´ë¦„ì„ ë¶™ì¸ ê²ƒì€ ì•„ë‹™ë‹ˆë‹¤. Perlì˜ ì°½ì‹œìž Larryê°€ 첫 번째 ì´ë¦„ì„ ë¨¼ì € ìƒê°í–ˆê³  ë„리 알려진 ê²ƒì„ ë‚˜ì¤‘ì— ì§€ì—ˆê¸° 때문입니다. 그렇기 ë•Œë¬¸ì— B<'Perl'>ì€ ëª¨ë‘ ëŒ€ë¬¸ìžê°€ 아닙니다. ë„리 알려진 ì–´ë–¤ ê²ƒì„ ê°€ì§€ê³  ë…¼ìŸí•˜ëŠ” ê²ƒì€ ì˜ë¯¸ê°€ 없습니다. Larry는 ë‘ ê°œ 다 지지합니다. ê°€ë” pê°€ 소문ìžë¡œ ìž‘ì„±ëœ B<'perl'>ì„ ë³¼ 것입니다. Pê°€ 대문ìžë¡œ ë˜ì–´ 있는 B<'Perl'>ì€ ì–¸ì–´ë¥¼ 참조할 때 ì“°ì´ë©° B<'perl'>처럼 pê°€ 소문ìžì¸ 경우는 ì—¬ëŸ¬ë¶„ì˜ í”„ë¡œê·¸ëž¨ì„ ì»´íŒŒì¼í•˜ê³  ëŒë¦´ 때 사용ë˜ëŠ” í•´ì„기를 지칭할 때 사용ë©ë‹ˆë‹¤. =head1 Perlì— ê´€í•˜ì—¬ Perlì€ ë³¸ëž˜ 문ìžì—´ ìƒì„±ì„ 위해 만들졌지만 ì§€ê¸ˆì€ ì‹œìŠ¤í…œ 관리와 웹 개발, ë„¤íŠ¸ì›Œí¬ í”„ë¡œê·¸ëž˜ë°, GUI 개발 ë“±ì„ í¬í•¨í•œ 여러 분야ì—서 ë„리 사용ë˜ëŠ” 범용 í”„ë¡œê·¸ëž˜ë° ì–¸ì–´ìž…ë‹ˆë‹¤. ì´ ì–¸ì–´ëŠ” 아름다움(아주 작고, 우아하고, 아주 ì ê³ )보다 실용ì (사용하기 쉽고, 효율ì ì´ë©°, 가능한 최대한)ì¸ ê²ƒì„ ì§€í–¥í•˜ê³  있습니다. 사용하기 쉽고, ì ˆì°¨ì  í”„ë¡œê·¸ëž˜ë°ê³¼ ê°ì²´ 지향 프로그래ë°ì„ ëª¨ë‘ ì§€ì›í•˜ê³ , 강력한 문ìžì—´ 처리 ê¸°ëŠ¥ì„ ë‚´ìž¥í•˜ê³ , 세ìƒì—서 가장 ì¸ìƒì ì¸ ì œ 3ìžì˜ 모듈 모ìŒì²˜ë¥¼ 가지고 있다는 ê²ƒì€ Perlì˜ ê°€ìž¥ 중요한 특징입니다. Perlì˜ ì–¸ì–´ì  íŠ¹ì§•ì€ F 문서ì—서 소개합니다. ì´ë²ˆ 릴리스ì—서 가장 중요한 변화는 Fì—서 ë…¼ì˜í•©ë‹ˆë‹¤. ë˜í•œ 다양한 ì¶œíŒì‚¬ê°€ ì¶œíŒí•œ ë§Žì€ Perl ì±…ì€ ë‹¤ì–‘í•œ 주제를 다루고 있습니다. ìžì„¸í•œ 정보는 F 문서를 확ì¸í•˜ì„¸ìš”. =head1 설치 ì—¬ëŸ¬ë¶„ì´ ë¹„êµì  í˜„ëŒ€ì˜ ìš´ì˜ì²´ì œë¥¼ 사용하고 있고 현재 ë²„ì „ì˜ Perlì„ ì§€ì—­ì ìœ¼ë¡œ 설치하고 싶다면 ë‹¤ìŒ ëª…ë ¹ì„ ì‹¤í–‰í•˜ì„¸ìš”. ./Configure -des -Dprefix=$HOME/localperl make test make install ì•žì˜ ëª…ë ¹ì€ ì—¬ëŸ¬ë¶„ì˜ í”Œëž«í¼ì— 맞게 í™˜ê²½ì„ ì„¤ì •í•˜ê³  컴파ì¼ì„ 수행한 후, 회기 테스트를 수행한뒤, 홈 디렉터리 í•˜ë¶€ì˜ F ë””ë ‰í„°ë¦¬ì— perlì„ ì„¤ì¹˜í•©ë‹ˆë‹¤. ì—¬ëŸ¬ë¶„ì´ ì–´ë– í•œ 문제든 겪게 ë˜ê±°ë‚˜ ì‚¬ìš©ìž ì •ì˜ ë²„ì „ Perlì„ ì„¤ì¹˜í•  필요가 있다면 현재 ë°°í¬íŒì— 들어있는 F íŒŒì¼ ì•ˆì˜ ìžì„¸í•œ ì„¤ëª…ì„ ì½ì–´ì•¼ 합니다. 추가ì ìœ¼ë¡œ ì¼ë°˜ì ì´ì§€ ì•Šì€ ë‹¤ì–‘í•œ 플랫í¼ì—서 Perlì„ ë¹Œë“œí•˜ê³  사용하는 ë°©ë²•ì— ëŒ€í•œ ë„움ë§ê³¼ ê·€ë”ì´ ì í˜€ìžˆëŠ” ë§Žì€ ìˆ˜ì˜ F 파ì¼ì´ 있습니다. ì¼ë‹¨ Perlì„ ì„¤ì¹˜í•˜ê³  나면 C ë„구를 ì´ìš©í•´ í’부한 문서를 사용할 수 있습니다. 시작하기 위해서 ë‹¤ìŒ ëª…ë ¹ì„ ì‹¤í–‰í•˜ì„¸ìš”. perldoc perl =head1 ì‹¤í–‰ì— ì–´ë ¤ì›€ì„ ê²ªëŠ”ë‹¤ë©´ Perlì€ ëœ¨ê°œì§ˆì—서 부터 로켓 과학까지 모든 분야ì—서 사용할 수 있는 í¬ê³  복잡한 시스템입니다. ì—¬ëŸ¬ë¶„ì´ ì–´ë ¤ì›€ì— ë¶€ë”ªí˜”ì„때 ê·¸ 문제는 ì´ë¯¸ 다른 ì‚¬ëžŒì´ í•´ê²°í–ˆì„ ê°€ëŠ¥ì„±ì´ ë†’ìŠµë‹ˆë‹¤. 문서를 ëª¨ë‘ í™•ì¸í–ˆëŠ”ë°ë„ 버그가 확실하다면 C ë„구를 ì´ìš©í•´ì„œ ì €í¬ì—게 버그를 보고해주세요. Cì— ëŒ€í•œ ë” ìžì„¸í•œ 정보는 C ë˜ëŠ” C를 명령줄ì—서 실행해서 확ì¸í•  수 있습니다. Perlì„ ì‚¬ìš© 가능하게 만들었다 하ë”ë¼ë„ Perlì€ ê³„ì†í•´ì„œ 진화하기 ë•Œë¬¸ì— ì—¬ëŸ¬ë¶„ì´ ë§žë‹¥ëœ¨ë¦° 버그를 수정했거나 ì—¬ëŸ¬ë¶„ì´ ìœ ìš©í•˜ë‹¤ê³  ìƒê°í• ë²•한 새로운 ê¸°ëŠ¥ì´ ì¶”ê°€ëœ ì¢€ ë” ìµœì‹  ë²„ì „ì´ ìžˆì„ ìˆ˜ 있습니다. ì—¬ëŸ¬ë¶„ì€ í•­ìƒ ìµœì‹  ë²„ì „ì˜ perlì„ CPAN (Comprehensive Perl Archive Network) 사ì´íЏ L ì—서 ì°¾ì„ ìˆ˜ 있습니다. perl ì†ŒìŠ¤ì— ê°„ë‹¨í•œ 패치를 등ë¡í•˜ê³  싶다면 F ë¬¸ì„œì˜ B<"SUPER QUICK PATCH GUIDE">를 살펴보세요. 그냥 ê°œì¸ì ìœ¼ë¡œ 참고하세요. 제가 ì´ê²ƒì²˜ëŸ¼ ë©‹ì§„ ë¬¼ê±´ì„ ë§Œë“ ë‹¤ëŠ” ê²ƒì„ ì—¬ëŸ¬ë¶„ì´ ì•Œê¸°ë¥¼ ë°”ëžë‹ˆë‹¤. ê·¸ê²ƒì€ ì œ ì´ì•¼ê¸°ì˜ B<"ì €ìž(Author)">를 기ì˜ê²Œí•˜ê¸° 때문입니다. ì´ê²ƒì´ ì—¬ëŸ¬ë¶„ì„ ê·€ì°®ê²Œ 한다면 ì—¬ëŸ¬ë¶„ì˜ B<"저작(Authorship)">ì— ëŒ€í•œ ìƒê°ì„ 정정해야 í•  ìˆ˜ë„ ìžˆìŠµë‹ˆë‹¤. 하지만 어쨌거나 ì—¬ëŸ¬ë¶„ì€ Perlì„ ì‚¬ìš©í•˜ëŠ”ë°ëŠ” 문제가 없답니다. :-) - B<"ì €ìž">로부터. =head1 ì¸ì½”딩 Perlì€ 5.8.0íŒë¶€í„° 유니코드/ISO 10646ì— ëŒ€í•´ 광범위하게 ì§€ì›í•©ë‹ˆë‹¤. 유니코드 ì§€ì›ì˜ ì¼í™˜ìœ¼ë¡œ 한중ì¼ì„ 비롯한 세계 ê°êµ­ì—서 유니코드 ì´ì „ì— ì“°ê³  있었고 ì§€ê¸ˆë„ ë„리 ì“°ì´ê³  있는 ìˆ˜ë§Žì€ ì¸ì½”ë”©ì„ ì§€ì›í•©ë‹ˆë‹¤. 유니코드는 ì „ 세계ì—서 ì“°ì´ëŠ” 모든 언어를 위한 표기 체계(ìœ ëŸ½ì˜ ë¼í‹´ 알파벳, 키릴 알파벳, 그리스 알파벳, ì¸ë„와 ë™ë‚¨ ì•„ì‹œì•„ì˜ ë¸Œë¼ë¯¸ 계열 스í¬ë¦½íЏ, ì•„ëž ë¬¸ìž, 히브리 문ìž, 한중ì¼ì˜ 한ìž, í•œêµ­ì–´ì˜ í•œê¸€, ì¼ë³¸ì–´ì˜ 가나, ë¶ë¯¸ ì¸ë””ì•ˆì˜ í‘œê¸° 체계 등)를 수용하는 ê²ƒì„ ëª©í‘œë¡œ 하고 있기 ë•Œë¬¸ì— ê¸°ì¡´ì— ì“°ì´ë˜ ê° ì–¸ì–´ ë° êµ­ê°€ 그리고 ìš´ì˜ ì²´ê³„ì— ê³ ìœ í•œ ë¬¸ìž ì§‘í•©ê³¼ ì¸ì½”ë”©ì— ì“¸ 수 있는 모든 글ìžëŠ” 물론ì´ê³  기존 ë¬¸ìž ì§‘í•©ì—서 ì§€ì›í•˜ê³  있지 ì•Šë˜ ì•„ì£¼ ë§Žì€ ê¸€ìžë¥¼ í¬í•¨í•˜ê³  있습니다. Perlì€ ë‚´ë¶€ì ìœ¼ë¡œ 유니코드를 ë¬¸ìž í‘œí˜„ì„ ìœ„í•´ 사용합니다. 보다 구체ì ìœ¼ë¡œ ë§í•˜ë©´ Perl 스í¬ë¦½íЏ 안ì—서 UTF-8 문ìžì—´ì„ 쓸 수 있고, ê°ì¢… 함수와 ì—°ì‚°ìž(예를 들어, ì •ê·œì‹, index, substr)ê°€ ë°”ì´íЏ 단위 대신 유니코드 ê¸€ìž ë‹¨ìœ„ë¡œ ë™ìž‘합니다. ë” ìžì„¸í•œ ê²ƒì€ F 문서를 참고하세요. 유니코드가 ë„리 보급ë˜ê¸° ì „ì— ë„리 ì“°ì´ê³  있었고, 여전히 ë„리 ì“°ì´ê³  있는 ê°êµ­/ê° ì–¸ì–´ë³„ ì¸ì½”딩으로 ìž…ì¶œë ¥ì„ í•˜ê³  ì´ë“¤ ì¸ì½”딩으로 ëœ ë°ì´í„°ì™€ 문서를 다루는 ê²ƒì„ ë•기 위해 L ëª¨ë“ˆì´ ì“°ì´ê³  있습니다. 무엇보다 L ëª¨ë“ˆì„ ì‚¬ìš©í•˜ë©´ ìˆ˜ë§Žì€ ì¸ì½”딩 사ì´ì˜ ë³€í™˜ì„ ì‰½ê²Œ í•  수 있습니다. =head2 Encode 모듈 =head3 ì§€ì› ì¸ì½”딩 L ëª¨ë“ˆì€ ë‹¤ìŒê³¼ ê°™ì€ í•œêµ­ì–´ ì¸ì½”ë”©ì„ ì§€ì›í•©ë‹ˆë‹¤. =over 4 =item * C US-ASCII와 KS X 1001ì„ ê°™ì´ ì“°ëŠ” 멀티바ì´íЏ ì¸ì½”딩으로 í”히 완성형ì´ë¼ê³  불림. KS X 2901ê³¼ RFC 1557 참고. =item * C MS-Windows 9x/MEì—서 ì“°ì´ëŠ” 확장 완성형. euc-krì— 8,822ìžì˜ 한글 ìŒì ˆì„ ë”한 것임. alias는 uhc, windows-949, x-windows-949, ks_c_5601-1987. 맨 마지막 ì´ë¦„ì€ ì ì ˆí•˜ì§€ ì•Šì€ ì´ë¦„ì´ì§€ë§Œ, Microsoft 제품ì—서 CP949ì˜ ì˜ë¯¸ë¡œ ì“°ì´ê³  있ìŒ. =item * C KS X 1001:1998 ë¶€ë¡ 3ì—서 규정한 조합형. ë¬¸ìž ë ˆí¼í† ë¦¬ëŠ” cp949와 마찬가지로 US-ASCII와 KS X 1001ì— 8,822ìžì˜ 한글 ìŒì ˆì„ ë”한 것으로 ì¸ì½”딩 ë°©ì‹ì€ 전혀 다름. =item * C RFC 1557ì—서 규정한 한국어 ì¸í„°ë„· ë©”ì¼ êµí™˜ìš© ì¸ì½”딩으로 US-ASCII와 KS X 1001ì„ ë ˆí¼í† ë¦¬ë¡œ 하는 ì ì—서 euc-krê³¼ 같지만 ì¸ì½”딩 ë°©ì‹ì´ 다름. 1997-8ë…„ 경까지 쓰였으나 ë” ì´ìƒ ë©”ì¼ êµí™˜ì— ì“°ì´ì§€ 않ìŒ. =item * C 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ë…„ì—는 ë‘ ê¸€ìž(유로화 부호와 ë“±ë¡ ìƒí‘œ 부호)ê°€ ë”해졌ìŒ. =back =head3 변환 예제 예를 들어, 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 ì´ëŸ° ë³€í™˜ì„ ì¢€ë” íŽ¸ë¦¬í•˜ê²Œ í•  수 있ë„ë¡ ë„와주는 Fê°€ Perlì— ê¸°ë³¸ìœ¼ë¡œ 들어있습니다. ì´ ìœ í‹¸ë¦¬í‹°ëŠ” L ëª¨ë“ˆì„ ì´ìš©í•œ 순수 Perl 유틸리티로 ì´ë¦„ì—서 알 수 ìžˆë“¯ì´ Unixì˜ C를 모ë¸ë¡œ 한 것입니다. ì‚¬ìš©ë²•ì€ ë‹¤ìŒê³¼ 같습니다. piconv -f euc-kr -t utf8 < file.euc-kr > file.utf8 piconv -f utf8 -t euc-kr < file.utf8 > file.euc-kr =head3 모범 사례 Perlì€ ê¸°ë³¸ì ìœ¼ë¡œ ë‚´ë¶€ì—서 UTF-8ì„ ì‚¬ìš©í•˜ë©° Encode ëª¨ë“ˆì„ í†µí•´ 다양한 ì¸ì½”ë”©ì„ ì§€ì›í•˜ì§€ë§Œ í•­ìƒ ë‹¤ìŒ ê·œì¹™ì„ ì§€í‚´ìœ¼ë¡œì¨ ì¸ì½”딩과 관련한 다양하게 ë°œìƒí•  수 있는 ë¬¸ì œì˜ ê°€ëŠ¥ì„±ì„ ì¤„ì´ëŠ” ê²ƒì„ ì¶”ì²œí•©ë‹ˆë‹¤. =over 4 =item * 소스 코드는 í•­ìƒ UTF-8 ì¸ì½”딩으로 저장 =item * 소스 코드 ìƒë‹¨ì— C 프ë¼ê·¸ë§ˆ 사용 =item * 소스 코드, 터미ë„, ìš´ì˜ì²´ì œ, ë°ì´í„° ì¸ì½”ë”©ì„ ë¶„ë¦¬í•´ì„œ ì´í•´ =item * 입출력 íŒŒì¼ í•¸ë“¤ì— ëª…ì‹œì ì¸ ì¸ì½”ë”©ì„ ì‚¬ìš© =item * 중복(double) ì¸ì½”ë”©ì„ ì£¼ì˜ =back =head3 유니코드 ë° í•œêµ­ì–´ ì¸ì½”딩 관련 ìžë£Œ =over 4 =item * L =item * L =item * L =item * L =item * L =item * L 유니코드 컨소시엄 =item * L 기본ì ìœ¼ë¡œ Unicode와 ê°™ì€ ISO í‘œì¤€ì¸ ISO/IEC 10646 UCS(Universal Character Set)ì„ ë§Œë“œëŠ” ISO/IEC JTC1/SC2/WG2ì˜ ì›¹ 페ì´ì§€ =item * L 유닉스/리눅스 사용ìžë¥¼ 위한 UTF-8 ë° ìœ ë‹ˆì½”ë“œ 관련 FAQ =item * L 유닉스/리눅스 사용ìžë¥¼ 위한 UTF-8 ë° ìœ ë‹ˆì½”ë“œ 관련 FAQì˜ í•œêµ­ì–´ 번역 =back =head1 Perl 관련 ìžë£Œ 다ìŒì€ ê³µì‹ì ì¸ Perl 관련 ìžë£Œì¤‘ ì¼ë¶€ìž…니다. =over 4 =item * L Perl ê³µì‹ í™ˆíŽ˜ì´ì§€ =item * L O'Reillyì˜ Perl 웹 페ì´ì§€ =item * L CPAN - Comprehensive Perl Archive Network, í†µí•©ì  Perl íŒŒì¼ ë³´ê´€ ë„¤íŠ¸ì›Œí¬ =item * L 메타 CPAN =item * L Perl ë©”ì¼ë§ 리스트 =item * L Perl 메타 블로그 =item * L Perl 수ë„ìŠ¹ë“¤ì„ ìœ„í•œ 수ë„ì› =item * L 아시아 지역 Perl 몽거스 모임 =item * L Perl í¬ë¦¬ìŠ¤ë§ˆìŠ¤ 달력 =back 다ìŒì€ Perlì„ ë” ê¹Šê²Œ ê³µë¶€í•˜ëŠ”ë° ë„ì›€ì„ ì¤„ 수 있는 한국어 관련 사ì´íŠ¸ìž…ë‹ˆë‹¤. =over 4 =item * L 한국 Perl 커뮤니티 ê³µì‹ í¬í„¸ =item * L Perl 문서 한글화 프로ì íЏ =item * L 네ì´ë²„ Perl 카페 =item * L 한국 Perl ì‚¬ìš©ìž ëª¨ìž„ =item * L Seoul.pm Perl í¬ë¦¬ìŠ¤ë§ˆìŠ¤ 달력 (2010 ~ 2012) =item * L GYPARK(Geunyoung Park)ì˜ Perl 관련 한글 문서 저장소 =back =head1 ë¼ì´ì„¼ìФ F 파ì¼ì˜ B<'LICENSING'> í•­ëª©ì„ ì°¸ê³ í•˜ì„¸ìš”. =head1 AUTHORS =over =item * Jarkko Hietaniemi Ejhi@iki.fiE =item * ì‹ ì •ì‹ Ejshin@mailaps.orgE =item * ê¹€ë„형 Ekeedi@cpan.orgE =back =cut