ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ ยยญ =encoding utf8 ์ด ํŒŒ์ผ์„ ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ์ฝ๊ณ  ์žˆ๋‹ค๋ฉด ์šฐ์Šค๊ฝ์Šค๋Ÿฌ์šด ๋ฌธ์ž๋Š” ๋ฌด์‹œํ•ด์ฃผ์„ธ์š”. ์ด ๋ฌธ์„œ๋Š” POD๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก POD ํ˜•์‹(F ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”)์œผ๋กœ ์ž‘์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. =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 ๊ด€๋ จ ํ•œ๊ธ€ ๋ฌธ์„œ ์ €์žฅ์†Œ =item * L Seoul.pm - ์„œ์šธ 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