X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/97cef9f76b335528491175aed1abd7eefc78115c..6bc4329f7ec30de04fc201cb3990673e81becde3:/README.ko?ds=sidebyside diff --git a/README.ko b/README.ko index fb3a4a9..2632135 100644 --- a/README.ko +++ b/README.ko @@ -1,137 +1,132 @@ -If you read this file _as_is_, just ignore the funny characters you -see. It is written in the POD format (see perlpod manpage) which is -specially designed to be readable as is. - -This file is in Korean encoded in EUC-KR. - -ÀÌ ¹®¼­¸¦ perldocÀ» ½á¼­ º¸Áö ¾Ê°í Á÷Á¢ º¸´Â °æ¿ì¿¡´Â °¢ ºÎºÐÀÇ -¿ªÇÒÀ» Ç¥½ÃÇϱâ À§ÇØ ¾²ÀÎ =head, =item, 'L' µîÀº ¹«½ÃÇϽʽÿÀ. -ÀÌ ¹®¼­´Â µû·Î perldocÀ» ¾²Áö ¾Ê°í º¸´õ¶óµµ Àдµ¥ º° ÁöÀåÀÌ -¾ø´Â POD Çü½ÄÀ¸·Î Â¥¿© ÀÖ½À´Ï´Ù. ´õ ÀÚ¼¼ÇÑ °ÍÀº perlpod -¸Å´º¾óÀ» Âü°íÇϽʽÿÀ. +=encoding utf8 +이 문서를 perldoc을 써서 보지 않고 직접 보는 경우에는 각 부분의 +역할을 표시하기 위해 쓰인 =head, =item, 'L' 등은 무시하십시오. +이 문서는 따로 perldoc을 쓰지 않고 보더라도 읽는데 별 지장이 +없는 POD 형식으로 짜여 있습니다. 더 자세한 것은 perlpod +매뉴얼을 참고하십시오. =head1 NAME -perlko - Perl°ú Çѱ¹¾î ÀÎÄÚµù +perlko - Perlê³¼ 한국어 인코딩 =head1 DESCRIPTION -PerlÀÇ ¼¼°è¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù ! +Perl의 세계에 오신 것을 환영합니다 ! -PerlÀº 5.8.0ÆǺÎÅÍ À¯´ÏÄÚµå/ISO 10646¿¡ ´ëÇÑ ±¤¹üÀ§ÇÑ Áö¿øÀ» ÇÕ´Ï´Ù. -À¯´ÏÄÚµå Áö¿øÀÇ ÀÏȯÀ¸·Î ÇÑÁßÀÏÀ» ºñ·ÔÇÑ ¼¼°è °¢±¹¿¡¼­ -À¯´ÏÄÚµå ÀÌÀü¿¡ ¾²°í ÀÖ¾ú°í Áö±Ýµµ ³Î¸® ¾²ÀÌ°í ÀÖ´Â ¼ö¸¹Àº ÀÎÄÚµùÀ» -Áö¿øÇÕ´Ï´Ù. À¯´ÏÄÚµå´Â Àü ¼¼°è¿¡¼­ ¾²ÀÌ´Â ¸ðµç ¾ð¾î¸¦ À§ÇÑ Ç¥±â ü°è - -À¯·´ÀÇ ¶óƾ ¾ËÆĺª, Å°¸± ¾ËÆĺª, ±×¸®½º ¾ËÆĺª, Àεµ¿Í µ¿³² ¾Æ½Ã¾ÆÀÇ -ºê¶ó¹Ì °è¿­ ½ºÅ©¸³Æ®, ¾Æ¶ø ¹®ÀÚ, È÷ºê¸® ¹®ÀÚ, ÇÑÁßÀÏÀÇ ÇÑÀÚ, Çѱ¹¾îÀÇ ÇѱÛ, -ÀϺ»¾îÀÇ °¡³ª, ºÏ¹Ì Àεð¾ÈÀÇ Ç¥±â ü°è µî-¸¦ ¼ö¿ëÇÏ´Â °ÍÀ» ¸ñÇ¥·Î ÇÏ°í -Àֱ⠶§¹®¿¡ ±âÁ¸¿¡ ¾²ÀÌ´ø °¢ ¾ð¾î ¹× ±¹°¡ ±×¸®°í ¿î¿µ ü°è¿¡ °íÀ¯ÇÑ -¹®ÀÚ ÁýÇÕ°ú ÀÎÄÚµù¿¡ ¾µ ¼ö ÀÖ´Â ¸ðµç ±ÛÀÚ´Â ¹°·ÐÀÌ°í ±âÁ¸ ¹®ÀÚ ÁýÇÕ¿¡¼­ -Áö¿øÇÏ°í ÀÖÁö ¾Ê´ø ¾ÆÁÖ ¸¹Àº ±ÛÀÚ¸¦ Æ÷ÇÔÇÏ°í ÀÖ½À´Ï´Ù. +Perl은 5.8.0판부터 유니코드/ISO 10646에 대한 광범위한 지원을 합니다. +유니코드 지원의 일환으로 한중일을 비롯한 세계 각국에서 +유니코드 이전에 쓰고 있었고 지금도 널리 쓰이고 있는 수많은 인코딩을 +지원합니다. 유니코드는 전 세계에서 쓰이는 모든 언어를 위한 표기 체계 - +유럽의 라틴 알파벳, 키릴 알파벳, 그리스 알파벳, 인도와 동남 아시아의 +브라미 계열 스크립트, 아랍 문자, 히브리 문자, 한중일의 한자, 한국어의 한글, +일본어의 가나, 북미 인디안의 표기 체계 등-를 수용하는 것을 목표로 하고 +있기 때문에 기존에 쓰이던 각 언어 및 국가 그리고 운영 체계에 고유한 +문자 집합과 인코딩에 쓸 수 있는 모든 글자는 물론이고 기존 문자 집합에서 +지원하고 있지 않던 아주 많은 글자를 포함하고 있습니다. -PerlÀº ³»ºÎÀûÀ¸·Î À¯´ÏÄڵ带 ¹®ÀÚ Ç¥ÇöÀ» À§ÇØ »ç¿ëÇÕ´Ï´Ù. º¸´Ù ±¸Ã¼ÀûÀ¸·Î -¸»Çϸé Perl ½ºÅ©¸³Æ® ¾È¿¡¼­ UTF-8 ¹®ÀÚ¿­À» ¾µ ¼ö ÀÖ°í, -°¢Á¾ ÇÔ¼ö¿Í ¿¬»êÀÚ(¿¹¸¦ µé¾î, Á¤±Ô½Ä, index, substr)°¡ ¹ÙÀÌÆ® ´ÜÀ§ -´ë½Å À¯´ÏÄÚµå ±ÛÀÚ ´ÜÀ§·Î µ¿ÀÛÇÕ´Ï´Ù. (´õ ÀÚ¼¼ÇÑ °ÍÀº -perlunicode ¸Å´º¾óÀ» Âü°íÇϽʽÿÀ.) À¯´ÏÄڵ尡 ³Î¸® º¸±ÞµÇ±â Àü¿¡ -³Î¸® ¾²ÀÌ°í ÀÖ¾ú°í, ¿©ÀüÈ÷ ³Î¸® ¾²ÀÌ°í ÀÖ´Â °¢±¹/°¢ ¾ð¾îº° ÀÎÄÚµùÀ¸·Î -ÀÔÃâ·ÂÀ» ÇÏ°í À̵é ÀÎÄÚµùÀ¸·Î µÈ µ¥ÀÌÅÍ¿Í ¹®¼­¸¦ ´Ù·ç´Â °ÍÀ» µ½±â À§ÇØ -'Encode'°¡ ¾²¿´½À´Ï´Ù. ¹«¾ùº¸´Ù 'Encode'¸¦ ½á¼­ ¼ö¸¹Àº ÀÎÄÚµù »çÀÌÀÇ -º¯È¯À» ½±°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. +Perl은 내부적으로 유니코드를 문자 표현을 위해 사용합니다. 보다 구체적으로 +말하면 Perl 스크립트 안에서 UTF-8 문자열을 쓸 수 있고, +각종 함수와 연산자(예를 들어, 정규식, index, substr)가 바이트 단위 +대신 유니코드 글자 단위로 동작합니다. (더 자세한 것은 +perlunicode 매뉴얼을 참고하십시오.) 유니코드가 널리 보급되기 전에 +널리 쓰이고 있었고, 여전히 널리 쓰이고 있는 각국/각 언어별 인코딩으로 +입출력을 하고 이들 인코딩으로 된 데이터와 문서를 다루는 것을 돕기 위해 +'Encode'가 쓰였습니다. 무엇보다 'Encode'를 써서 수많은 인코딩 사이의 +변환을 쉽게 할 수 있습니다. -'Encode'´Â ´ÙÀ½°ú °°Àº Çѱ¹¾î ÀÎÄÚµùÀ» Áö¿øÇÕ´Ï´Ù. +'Encode'는 다음과 같은 한국어 인코딩을 지원합니다. =over 4 -=item euc-kr +=item * euc-kr - US-ASCII¿Í KS X 1001À» °°ÀÌ ¾²´Â ¸ÖƼ¹ÙÀÌÆ® ÀÎÄÚµù (ÈçÈ÷ ¿Ï¼ºÇüÀ̶ó°í - ºÒ¸².) KS X 2901°ú RFC 1557 Âü°í. +US-ASCII와 KS X 1001을 같이 쓰는 멀티바이트 인코딩 (흔히 완성형이라고 +불림.) KS X 2901ê³¼ RFC 1557 참고. -=item cp949 +=item * cp949 - MS-Windows 9x/ME¿¡¼­ ¾²ÀÌ´Â È®Àå ¿Ï¼ºÇü. euc-kr¿¡ 8,822ÀÚÀÇ - ÇÑ±Û À½ÀýÀ» ´õÇÑ °ÍÀÓ. alias´Â uhc, windows-949, x-windows-949, - ks_c_5601-1987. ¸Ç ¸¶Áö¸· À̸§Àº ÀûÀýÇÏÁö ¾ÊÀº À̸§ÀÌÁö¸¸, Microsoft - Á¦Ç°¿¡¼­ CP949ÀÇ Àǹ̷Π¾²ÀÌ°í ÀÖÀ½. +MS-Windows 9x/ME에서 쓰이는 확장 완성형. euc-kr에 8,822자의 +한글 음절을 더한 것임. alias는 uhc, windows-949, x-windows-949, +ks_c_5601-1987. 맨 마지막 이름은 적절하지 않은 이름이지만, Microsoft +제품에서 CP949의 의미로 쓰이고 있음. -=item johab +=item * johab - KS X 1001:1998 ºÎ·Ï 3¿¡¼­ ±ÔÁ¤ÇÑ Á¶ÇÕÇü. ¹®ÀÚ ·¹ÆÛÅ丮´Â cp949¿Í - ¸¶Âù°¡Áö·Î US-ASCII¿Í KS X 1001¿¡ 8,822ÀÚÀÇ ÇÑ±Û À½ÀýÀ» ´õÇÑ °ÍÀÓ. - ÀÎÄÚµù ¹æ½ÄÀº ÀüÇô ´Ù¸§. +KS X 1001:1998 부록 3에서 규정한 조합형. 문자 레퍼토리는 cp949와 +마찬가지로 US-ASCII와 KS X 1001에 8,822자의 한글 음절을 더한 것임. +인코딩 방식은 전혀 다름. -=item iso-2022-kr +=item * iso-2022-kr - RFC 1557¿¡¼­ ±ÔÁ¤ÇÑ Çѱ¹¾î ÀÎÅÍ³Ý ¸ÞÀÏ ±³È¯¿ë ÀÎÄÚµùÀ¸·Î US-ASCII¿Í - KS X 1001À» ·¹ÆÛÅ丮·Î ÇÏ´Â Á¡¿¡¼­ euc-kr°ú °°Áö¸¸ ÀÎÄÚµù ¹æ½ÄÀÌ ´Ù¸§. - 1997-8³â °æ±îÁö ¾²¿´À¸³ª ´õ ÀÌ»ó ¸ÞÀÏ ±³È¯¿¡ ¾²ÀÌÁö ¾ÊÀ½. +RFC 1557에서 규정한 한국어 인터넷 메일 교환용 인코딩으로 US-ASCII와 +KS X 1001을 레퍼토리로 하는 점에서 euc-krê³¼ 같지만 인코딩 방식이 다름. +1997-8년 경까지 쓰였으나 더 이상 메일 교환에 쓰이지 않음. -=item ksc5601-raw +=item * 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³â¿¡´Â µÎ - ±ÛÀÚ (À¯·ÎÈ­ ºÎÈ£¿Í µî·Ï »óÇ¥ ºÎÈ£)°¡ ´õÇØÁ³À½. +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 - ¸î °¡Áö »ç¿ë ¿¹Á¦¸¦ ¾Æ·¡¿¡ º¸ÀÔ´Ï´Ù. +몇 가지 사용 예제를 아래에 보입니다. -¿¹¸¦ µé¾î, euc-kr ÀÎÄÚµùÀ¸·Î µÈ ÆÄÀÏÀ» UTF-8·Î º¯È¯ÇÏ·Á¸é ´ÙÀ½°ú -°°ÀÌ ÇÏ¸é µË´Ï´Ù. +예를 들어, euc-kr 인코딩으로 된 파일을 UTF-8로 변환하려면 다음과 +같이 하면 됩니다. perl -Mencoding=euc-kr,STDOUT,utf8 -pe1 < file.euckr > file.utf8 -¿ªº¯È¯Àº ´ÙÀ½°ú °°ÀÌ ÇÒ ¼ö ÀÖ½À´Ï´Ù. +역변환은 다음과 같이 할 수 있습니다. perl -Mencoding=utf8,STDOUT,euc-kr -pe1 < file.utf8 > file.euckr - ÀÌ·± º¯È¯À» Á»´õ Æí¸®ÇÏ°Ô ÇÒ ¼ö ÀÖµµ·Ï Encode ¸ðµâÀ» ½á¼­ -¼ø¼öÇÏ°Ô Perl·Î¸¸ ¾²ÀÎ piconv°¡ Perl¿¡ µé¾î ÀÖ½À´Ï´Ù. -±× À̸§¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ piconv´Â Unix¿¡ ÀÖ´Â iconv¸¦ -¸ðµ¨·Î ÇÑ °ÍÀÔ´Ï´Ù. ±× »ç¿ë¹ýÀº ¾Æ·¡¿Í °°½À´Ï´Ù. +이런 변환을 좀더 편리하게 할 수 있도록 Encode 모듈을 써서 +순수하게 Perl로만 쓰인 piconv가 Perl에 들어 있습니다. +ê·¸ 이름에서 알 수 있듯이 piconv는 Unix에 있는 iconv를 +모델로 한 것입니다. ê·¸ 사용법은 아래와 같습니다. piconv -f euc-kr -t utf8 < file.euckr > file.utf8 piconv -f utf8 -t euc-kr < file.utf8 > file.euckr - ¶Ç, 'PerlIO::encoding' ¸ðµâÀ» ½á¼­ Çѱ¹¾î ÀÎÄÚµùÀ» ¾²¸é¼­ ±ÛÀÚ ´ÜÀ§ -(¹ÙÀÌÆ® ´ÜÀ§°¡ ¾Æ´Ï¶ó) 󸮸¦ ½±°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. +또, 'PerlIO::encoding' 모듈을 써서 한국어 인코딩을 쓰면서 글자 단위 +(바이트 단위가 아니라) 처리를 쉽게 할 수 있습니다. #!/path/to/perl use encoding 'euc-kr', STDIN => 'euc-kr', STDOUT-> 'euc-kr', STDERR=>'euc-kr'; - print length("°¡³ª"); # 2 (Å« µû¿ÈÇ¥´Â ±ÛÀÚ ´ÜÀ§ 󸮸¦ Áö½Ã) - print length('°¡³ª'); # 4 (ÀÛÀº µû¿ÈÇ¥´Â ¹ÙÀÌÆ® ´ÜÀ§ 󸮸¦ Áö½Ã) - print index("ÇÑ°­, ´ëµ¿°­", "¿°"); # -1 ('¿°'ÀÌ ¾øÀ½) - print index('ÇÑ°­, ´ëµ¿°­', '¿°'); # 7 (8¹ø°¿Í 9¹ø° ¹ÙÀÌÆ®°¡ '¿°'ÀÇ - Äڵ尪°ú ÀÏÄ¡ÇÔ.) + print length("가나"); # 2 (큰 따옴표는 글자 단위 처리를 지시) + print length('가나'); # 4 (작은 따옴표는 바이트 단위 처리를 지시) + print index("한강, 대동강", "염"); # -1 ('염'이 없음) + print index('한강, 대동강', '염'); # 7 (8번째와 9번째 바이트가 '염'의 + 코드값과 일치함.) -=head2 ´õ ÀÚ¼¼È÷ ¾Ë°í ½ÍÀ¸¸é... +=head2 더 자세히 알고 싶으면... - PerlÀ» ¼³Ä¡ÇÏ¸é ´ë´ÜÈ÷ ÀÚ¼¼ÇÑ ¹®¼­°¡ °°ÀÌ µû¶ó ¿À¸ç, ÀÌ ¹®¼­¸¦ ÅëÇØ -Perl Àü¹Ý »Ó ¾Æ´Ï¶ó À¯´ÏÄÚµå Áö¿ø, EncodeÀÇ »ç¿ë¹ý µî¿¡ ¸¹Àº °ÍÀ» -¹è¿ï ¼ö ÀÖ½À´Ï´Ù. ¾ÆÁ÷ ÀÌ ¹®¼­´Â ÇöÀç ¸ðµÎ ¿µ¾î·Î ¾²¿© ÀÖ½À´Ï´Ù. +Perl을 설치하면 대단히 자세한 문서가 같이 따라 오며, 이 문서를 통해 +Perl 전반 뿐 아니라 유니코드 지원, Encode의 사용법 등에 많은 것을 +배울 수 있습니다. 아직 이 문서는 현재 모두 영어로 쓰여 있습니다. -=head2 Perl °ü·Ã ÀÚ·á +=head2 Perl 관련 자료 -À§¿¡¼­ ¾ð±ÞÇÑ ¹®¼­ ¿Ü¿¡µµ ´ÙÀ½°ú °°Àº ÀÚ·á°¡ ÀÖ½À´Ï´Ù. ÀÌ ¸ñ·ÏÀº °áÄÚ -¿ÏÀüÇÑ °ÍÀÌ ¾Æ´Ï°í ÀϺΠ´ëÇ¥ÀûÀÎ °Í¸¸ ¸ðÀº °ÍÀÔ´Ï´Ù. +위에서 언급한 문서 외에도 다음과 같은 자료가 있습니다. 이 목록은 결코 +완전한 것이 아니고 일부 대표적인 것만 모은 것입니다. =over 4 =item L - O'ReillyÀÇ Perl À¥ ÆäÀÌÁö + O'Reilly의 Perl 웹 페이지 =item L @@ -139,69 +134,57 @@ Perl =item L - Perl ¸ÞÀϸµ ¸®½ºÆ®. ¸¹Àº ¸®½ºÆ® °¡¿îµ¥ - perl-unicode¿¡¼­ 'Encode'¿¡ ´ëÇØ ³íÀÇÇÔ. + Perl 메일링 리스트. 많은 리스트 가운데 + perl-unicode에서 'Encode'에 대해 논의함. =back -=head2 PerlÀ» ´õ ±í°Ô °øºÎÇϴµ¥ µµ¿òÀ» ÁÙ ¼ö ÀÖ´Â Çѱ¹¾î °ü·Ã »çÀÌÆ® +=head2 Perl을 더 깊게 공부하는데 도움을 줄 수 있는 한국어 관련 사이트 =over 4 =item L - Perl Çѱ¹ »ç¿ëÀÚ ¸ðÀÓ + Perl 한국 사용자 모임 =item L - Çѱ¹¾î Perl ´º½º ±×·ì - -=item L - - Perl ¸Á°Å½º (¼­¿ï) + 한국어 Perl 뉴스 그룹 -=item L +=item L - Home for Korean Perlmanias - -=item L - - O'Reilly¿¡¼­ ³ª¿Â Çѱ¹¾î Perl ¼­Àû ¸ñ·Ï + O'Reilly에서 나온 한국어 Perl 서적 목록 =item L - Perl ±âÃÊ °­Á ¹× ¼Ò½º, ÃÖ±Ù µ¿Çâ, °ü·Ã ÇØ¿Ü »çÀÌÆ® ¸µÅ© + Perl 기초 강좌 및 소스, 최근 동향, 관련 해외 사이트 링크 =item L - Perl¿¡ °ü·ÃµÈ CGI, DB, ¿¬µ¿ µî¿¡ ´ëÇÑ Á¤º¸ ¹× ´º½º Á¦°ø + Perl에 관련된 CGI, DB, 연동 등에 대한 정보 및 뉴스 제공 =back -=head2 À¯´ÏÄÚµå ¹× Çѱ¹¾î ÀÎÄÚµù °ü·Ã ÀÚ·á +=head2 유니코드 및 한국어 인코딩 관련 자료 =over 4 =item L - À¯´ÏÄÚµå ÄÁ¼Ò½Ã¾ö. + 유니코드 컨소시엄. =item L -±âº»ÀûÀ¸·Î Unicode¿Í °°Àº ISO Ç¥ÁØÀÎ ISO/IEC 10646 UCS(Universal -Character Set)À» ¸¸µå´Â ISO/IEC JTC1/SC2/WG2ÀÇ À¥ ÆäÀÌÁö. - -=item L - - Çѱ¹¾î ¹®ÀÚ ÁýÇÕ ¹× ÀÎÄÚµù¿¡ ´ëÇÑ ¾È³». +기본적으로 Unicode와 같은 ISO 표준인 ISO/IEC 10646 UCS(Universal +Character Set)을 만드는 ISO/IEC JTC1/SC2/WG2의 웹 페이지. -=item L +=item L - À¯´Ð½º/¸®´ª½º¿¡¼­ À¯´ÏÄÚµå¿Í UTF-8 »ç¿ë¿¡ ´ëÇÑ ¹®´äÁý(FAQ) + 유닉스/리눅스에서 유니코드와 UTF-8 사용에 대한 문답집(FAQ) -=item L +=item L - À¯´Ð½º/¸®´ª½º¿¡¼­ À¯´ÏÄÚµå¿Í UTF-8 »ç¿ë¿¡ ´ëÇÑ ¹®´äÁý(FAQ)ÀÇ Çѱ¹¾î ¹ø¿ª + 유닉스/리눅스에서 유니코드와 UTF-8 사용에 대한 문답집(FAQ)의 한국어 번역 =back @@ -213,6 +196,6 @@ L, L, L, L, L =head1 AUTHORS Jarkko Hietaniemi Ejhi@iki.fiE -½ÅÁ¤½Ä Ejshin@mailaps.orgE +신정식 Ejshin@mailaps.orgE =cut