À̸íÇå °æ¿µ ½ºÄð
HOME | BUSINESS | TECH | CULTURE | LIST | @emhdent
[ÆÞ] ÆÞ ÇÁ·Î±×·¡¹Ö ¾ð¾î: ÆÞÀÇ ¹®È­¿Í ÄÚµù ȯ°æ ¼³Á¤
ÀÚ¿¬¾î¿Í ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Áß°£ÀÚ, ÆÞ
À̸íÇå (Æ®À§ÅÍ) [ 2001-10-2 ]

ÆÞÀÇ ¼¼°è¿¡ ¿À½Å °ÍÀ» ȯ¿µÇÕ´Ï´Ù!

CamelÆÞÀº ¹®ÀÚ¿­(string) 󸮿¡ ¸Å¿ì °­ÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î ñé ÇϳªÀÔ´Ï´Ù. ÆÞ·Î ÀÛ¼ºµÈ ÇÁ·Î±×·¥Àº C³ª ÀÚ¹Ù °°Àº º»°ÝÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î ÇàÇÏ´Â ÀÛ¾÷º¸´Ù´Â Á¶±Ý ´õ °¡º­¿î °÷¿¡ ¾²À̱⵵ Çϱ⠶§¹®¿¡ ½ºÅ©¸³ÆÃ ¾ð¾î¶ó°í ¾ê±âÇϱ⵵ ÇÕ´Ï´Ù¸¸ »ç½ÇÀº ±× ÀÌ»óÀÔ´Ï´Ù. ÆÞÀº ¸î ÁÙÀÇ ÄÚµå·Î ¼Ò¼ÒÇÑ ÀÛ¾÷À» Æí¸®ÇÏ°Ô ÇØ³¾ ¼ö ÀÖ´Â ½ºÅ©¸³ÆÃ ¾ð¾î·Î ¾²ÀÏ ¼ö ÀÖÀ» »Ó¸¸ ¾Æ´Ï¶ó º»°ÝÀûÀÎ ¾ÖÇø®ÄÉÀÌ¼Ç Àüü¸¦ ¿ÀÁ÷ ÆÞ¸¸À» ÀÌ¿ëÇØ¼­ ÃæºÐÈ÷ °³¹ßÇÒ ¼ö ÀÖ´Â °­·ÂÇÑ ¾ð¾îÀÌÀÚ È¯°æÀ̱⠶§¹®ÀÔ´Ï´Ù.

ÆÞÀº NASA¿¡¼­ ½Ã½ºÅÛ °ü¸®ÀÚ·Î ÀÏÇÏ´ø ¾ð¾îÇÐÀÚ ·¡¸® ¿ù(Larry Wall) ¾¾°¡ ¸¸µé¾ú½À´Ï´Ù. óÀ½¿¡´Â À¯Áî³Ý ´º½º °°Àº °èÃþ±¸Á¶¸¦ °¡Áø ÆÄÀÏÀÇ ¹ö±× ¸®Æ÷Æ®¸¦ ¸¸µé±â À§ÇØ °³¹ßµÇ¾ú´Ù ÇÕ´Ï´Ù. ´Ü¼øÇÑ ¹®ÀÚ¿­ ó¸®, ´Ü¼øÇÑ ÆÄÀÏ Ã³¸®¸¦ ÇØ¼­ ·¹Æ÷Æ®¸¦ ÀÛ¼ºÇØ ÁÖ´Â °£´ÜÇÑ ¾ð¾î¿´½À´Ï´Ù. ±×·±µ¥ ¾ó¸¶ µÚ, ÆÞÀÌ À¯´Ð½º ÇØÅ·¿¡ Å« µµ¿òÀÌ µÈ´Ù´Â »ç½ÇÀÌ ¾Ë·ÁÁý´Ï´Ù. ¸¹Àº À¯´Ð½º ±ã½ºµéÀº ÆÞÀÌ ½© ½ºÅ©¸³Æ®¿Í C »çÀÌÀÇ °£°ÝÀ» ¸Å²ô·´°Ô À̾îÁÙ ¼ö ÀÖ´Ù´Â °ÍÀ» ¾Ë°Ô µÇ¾ú°í ÆÞÀº Å« Àα⸦ ´©¸³´Ï´Ù.

ÆÞÀÌ ±ØÀûÀ¸·Î ¼ºÀåÇÒ ¼ö ÀÖ¾ú´ø °ÍÀº À¥ÀÇ µîÀå ¶§¹®À̾ú½À´Ï´Ù. À¥(www)Àº »ç½Ç»ó ¹®¼­°¡ ¿Ô´Ù°¬´ÙÇÏ´Â, ¶Ç ÀÛ¾÷ÀÇ ´ëºÎºÐÀÌ ¹®ÀÚ¿­À» ó¸®ÇÏ´Â °ÍÀ̾ú±â ¶§¹®¿¡ ÆÞÀÇ °­·ÂÇÑ ¹®ÀÚ¿­ ó¸® ´É·Â°ú À¥ÀÇ ¸ËÃë´Â ¾ÆÁÖ ÀÌ»óÀûÀ̾ú½À´Ï´Ù. ƯÈ÷ »ç¿ëÀÚ¿ÍÀÇ ÀÎÅ;׼ÇÀ» °¡´ÉÄÉ ÇØÁÖ´Â Æû(form)ÀÌ µîÀåÇϸ鼭 ÆûÀ» ó¸®ÇØÁÖ´Â ÇÁ·Î±×·¥ CGI (common gateway interface)¸¦ ¸¸µå´Â µ¥ ¾È¼º¸ÂÃãÀ̾ú½À´Ï´Ù. À¥ÀÇ Æø¹ßÀû ¼ºÀå°ú ÇÔ²² ÆÞ ¿ª½Ã À¯´Ð½º ±ã½ºµéÀÇ ¿¬ÀåÀ» ¹þ¾î³ª ±¤¹üÀ§ÇÑ Àα⸦ ¾ò½À´Ï´Ù.

ÆÞÀº ¸¹Àº ÀåÁ¡ÀÌ Àִµ¥ µÎ °¡Áö°¡ ÀÚÁÖ ¾ð±ÞµË´Ï´Ù.

'½¬¿î ÀÏÀº ½±°Ô, ¾î·Á¿î Àϵµ °¡´ÉÇÑ'(easy things easy, hard things possible)
'There is more than one way to do it' (TIMTOWTDI)

ÆÞÀº ¾à°£¸¸ ¾Ë´õ¶óµµ Áï½Ã ¸¹Àº ÀÛ¾÷¿¡ ¼Õ½±°Ô Ȱ¿ëÇÒ ¼ö ÀÖ´Â ¾ð¾îÀ̸鼭(ÀÌ·± ¾ð¾î´Â ¸Å¿ì µå¹´´Ï´Ù), ±í°Ô °øºÎÇϸé Çѵµ ¾ø´Â, °ÅÀÇ ¸ðµç °ÍÀÌ ÆÞÀ» ÅëÇØ¼­ °¡´ÉÇÑ °­·ÂÇÑ ¾ð¾îÀ̱⵵ ÇÕ´Ï´Ù. (ÀÌ·± ¾ð¾îµµ ¸¹Áö ¾Ê½À´Ï´Ù)

ÆÞÀÇ ¶Ç ÇϳªÀÇ Æ¯Â¡Àº È£ºÒÈ£°¡ ºÐ¸íÇÏ´Ù´Â Á¡ÀÔ´Ï´Ù. ÆÞÀº ´Ù¸¥ °í±Þ¾ð¾î(C, Java, ÆÄ½ºÄ®, Python, PHP, ...)¿Í ´Ù¸£°Ô °è¼ÓÇØ¼­ Ãà¾àÀÌ °¡´ÉÇÕ´Ï´Ù. ¶Ç "TIMTOWTDI"¶ó´Â Ç¥Çöó·³ ÄÚµùÇÏ´Â »ç¶÷¸¶´Ù °°Àº ±â´ÉÀ» ´Ù¸£°Ô ÄÚµùÇÒ ¼ö Àֱ⠶§¹®¿¡ 'ÁöÀúºÐÇÑ' Äڵ尡 »ó´ëÀûÀ¸·Î ¸¹½À´Ï´Ù. óÀ½ ÆÞ Äڵ带 º» »ç¶÷Àº ÀÌ»óÇÑ ±âÈ£(@, %, [, $, *, @_, &... ; "funny characters"¶ó ÇÕ´Ï´Ù)·Î °¡µæ Â÷ ÀÖ´Â Äڵ带 º¸¸ç »ó´çÈ÷ ±äÀåÀ» ÇÕ´Ï´Ù. ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­´Â Àß ¾²ÀÌÁö ¾Ê°Å³ª Á¦ÇÑÀûÀ¸·Î ¾²ÀÌ´Â ±âÈ£µéÀÌ º¯¼ö À̸§À» ¸¸µå´Â °Í °°Àº ±âº»ÀûÀÎ ÀÛ¾÷¿¡¼­µµ ¸¹ÀÌ ¾²À̱⠶§¹®¿¡ ÆÞ ÄÚµå´Â Àß ¸ð¸£´Â »ç¶÷ÀÌ º¼ ¶§ ¾Ïȣó·³ º¸À̱⠶§¹®ÀÔ´Ï´Ù.

°Ô´Ù°¡ ÆÞÀº ¾Ï¹¬ÀûÀ¸·Î Àº¹ÐÇϰÔ(implicit) ÀÌ·ïÁö´Â ÀÛ¾÷ÀÌ ¸¹½À´Ï´Ù. 'Ưº°È÷ ¸í½ÃÇÏÁö ¾ÊÀ¸¸é ¸ðµç °á°ú´Â ¾îµð¿¡ ´ã±ä´Ù'´Â °ÍÀÌ ¸¹ÀÌ Á¸ÀçÇÕ´Ï´Ù ±×·¡¼­ ´Ù¸¥ ¾ð¾îó·³ ±ò²ûÇϰí ÀбâÁÁ°Ô ÄÚµùÇÒ ¼ö ÀÖÀ¸¸é¼­µµ, ÇѾøÀÌ ÀÐ±â ¾î·Æ°Ô ÄÚµùÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ¾Ï¹¬ÀûÀ¸·Î ÀÌ·ïÁö´Â ºÎºÐµéÀ» ±³¹¦ÇÏ°Ô È°¿ëÇÏ¸é ±×¾ß¸»·Î ¾ÏÈ£°°Àº Äڵ尡 µÇ±âµµ ÇÕ´Ï´Ù. Äڵ带 ÀÐ±â ¾î·Æ°Ô ¸¸µé ¼ö ÀÖ´Ù´Â Á¡ÀÌ Àǹ̰¡ ÀÖ´Â °ÍÀÌ ¾Æ´Ï¶ó Äڵ尡 ¸Å¿ì ÄÄÆÑÆ®ÇÏ°Ô Ãà¾àµÉ ¼ö ÀÖ´Ù´Â Á¡ÀÌ ÆÞÀÇ °­Á¡ÀÔ´Ï´Ù.

¿¬°üµÈ ¾ê±âÁö¸¸ ÆÞÀº ¶Ç Çü(type)À» ¾ö°ÝÇÏ°Ô ±ÔÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. C°°Àº ¾ð¾î´Â º¯¼ö¸¦ ¼±¾ðÇÒ ¶§µµ ±× º¯¼öÇüÀ» È®½ÇÇÏ°Ô ±ÔÁ¤ÇØ¾ß ÇÏÁö¸¸ ÆÞÀº º¯¼ö¸¦ ¹Ì¸® ¼±¾ðÇÒ Çʿ䵵 ¾øÀ» »Ó¸¸ ¾Æ´Ï¶ó, ¼±¾ðÀ» ÇÏ´Â °æ¿ìµµ ÇüÀ» ÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. º¯¼öµéÀº °¢±â ÀÚ½ÅÀÌ ¼ÓÇÑ ¹®¸Æ(context; ÆÞ¿¡¼­ ¸Å¿ì Áß¿äÇÑ Àǹ̸¦ °®½À´Ï´Ù)¿¡ ¸Â°Ô ÀûÀýÈ÷ Ãë±ÞµË´Ï´Ù. ÀÌ·± Á¡µéÀº ¾ð¾îÇÐÀÚÀÎ ·¡¸® ¿ù ä«°¡ ¾ð¾î¸¦ ¼³°èÇÒ ¶§ºÎÅÍ °¡±ÞÀû ÀÚ¿¬¾î¿¡ À¯»çÇÏ°Ô ¸¸µé·Á Ç߱⠶§¹®ÀÔ´Ï´Ù. ÀÏ»ó ¿µ¾î¿¡¼­ °°Àº ´Ü¾î°¡ ¹®¸Æ¿¡ µû¶ó µ¿»ç·Îµµ ¾²ÀÌ°í ¸í»ç·Îµµ ¾²ÀÌ´Â °Íó·³, ÆÞÀÇ º¯¼ö ¿ª½Ã ¹®¸Æ¿¡ µû¶ó ±× ¿ëµµ°¡ ÀûÀýÈ÷ Á¶ÀýµË´Ï´Ù. ±×·¡¼­ ÆÞÀº ¶È°°Àº ±â´ÉÀ» ÇÏ´Â ÄÚµåÀε¥µµ ÄÚµùÇÏ´Â »ç¶÷¿¡ µû¶ó ÀüÇô ´Ù¸¦ ¼ö ÀÖ°í, ¾ö°ÝÇÑ ±ÔÁ¤ ¼Ó¿¡ ÄÚµùÇÏ´Â °ÍÀ» ¼±È£ÇÏ´Â »ç¶÷µéÀº ÆÞÀ» 'ÁöÀúºÐÇÏ´Ù'¸ç ÇÇÇÏ°Ô µÇ¾ú½À´Ï´Ù. (¹°·Ð ÆÞµµ ¾ó¸¶µçÁö Àбâ ÁÁ°Ô ÄÚµùÇÒ ¼ö ÀÖ½À´Ï´Ù.)

ÇÑÆí, ÁöÀúºÐÇÑ ÆÞ ÄÚµùÀ» Áñ±â´Â ÆÞ ÇØÄ¿µµ »ó´ç¼ö ÀÖÀ¸¸ç, ´©°¡ ´õ ¾ÏÈ£°°Àº Äڵ带 Àß ¸¸µé¾î ³»´À³Ä·Î °æÀïÀ» Çϱ⵵ ÇÕ´Ï´Ù. (½ÉÁö¾î ´ëȸµµ ÀÖ½À´Ï´Ù -_-;; Obfuscated Perl contest. Cµµ À¯»çÇÑ °ÍÀÌ ÀÖÁÒ?)

¾ó¸¶ Àü DVD¸¦ Å©·¢ÇÏ´Â ÇÁ·Î±×·¥ÀÌ ÀÎÅÍ³Ý »ó¿¡ ¶°µ¹¾Æ¼­ ¹®Á¦°¡ µÈ ÀûÀÌ ÀÖ¾ú´Âµ¥, ±× DVD Ä«ÇǶóÀÕ ±úÁÖ´Â ÇÁ·Î±×·¥Àº ÆÞ·Î ÀÛ¼ºµÇ¾ú½À´Ï´Ù. ³î¶ó¿î °ÍÀº ±× Äڵ尡 ä ¿­ ÁÙÀÌ ¾È µÇ¾ú´Ù´Â Á¡ÀÔ´Ï´Ù. ±×°ÍÀº, ±×¸¸Å­ ÆÞÀÌ °­·ÂÇÑ ¾ð¾î¶ó´Â Á¡°ú ÆÞ ÄÚµå´Â ÁÙÀ̰í ÁÙ¿©¼­ °ÅÀÇ ¾Ïȣó·³ ¸¸µé¾î ¹ö¸± ¼ö Àֱ⠶§¹®ÀÔ´Ï´Ù. ÀÌ Äڵ尡 DVD ÇÁ·ÎÅØ¼ÇÀ» ±ú¶ß¸° ÆÞ ÄÚµåÀÔ´Ï´Ù.

$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=( $m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16 -2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h =5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$ d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d8^($f=$t&($d12^$d4^ $d^$d/8))<<17,$e=$e8^($t&($g=($q=$e14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^ (($h=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval

À§¿Í °°ÀÌ ÄÚµùÇÒ ¼ö Àֱ⠶§¹®¿¡, ÆÄ½ºÄ®(Pascal)À̳ª ÀÚ¹Ù(Java), ÆÄÀ̽ã(Python) °°Àº Á¤¸®µÇ°í ¾ö°ÝÇÑ ÇÁ·Î±×·¡¹ÖÀ» ¼±È£ÇÏ´Â ÇÁ·Î±×·¡¸Ó´Â ÆÞÀÇ ºÐ¹æÇÔÀ» ¹«Ã´ ½È¾îÇÕ´Ï´Ù. ¿ªÀ¸·Î ÇØÄ¿µéÀº ÆÞÀÇ ±×·± Ư¼ºÀ» ¹«Ã´ ÁÁ¾ÆÇϱ⠶§¹®¿¡ ÆÞÀ» ÁÁ¾ÆÇϸç, 'ÆÞ ÇØÄ¿'¶ó´Â ¸»À» ÀÏÁ¾ÀÇ ¿µ¿¹·Î ¹Þ¾ÆµéÀ̰í ÀÖ½À´Ï´Ù.

ÆÞÀº ƯÁ¤ ±â´ÉÀ» ±¸ÇöÇϱâ À§ÇØ °³¹ßµÇ¾î ¿Â ¾ð¾î ±× ÀÌ»óÀÔ´Ï´Ù. ÆÞ¿¡´Â ÆÞ¸¸ÀÇ µ¶Æ¯ÇÏ°í °­·ÄÇÑ ¹®È­°¡ ÀÖ°í, ÆÞ¸¸ÀÇ ½ºÅ¸ÀÏÀÌ ÀÖ½À´Ï´Ù. ¾ð¾î ÀÚü°¡ ¾ð¾îÇÐÀÚ¿¡ ÀÇÇØ ÃÖ´ëÇÑ ÀÚ¿¬¾î¿Í À¯»çÇÑ Æ¯Â¡À» °®µµ·Ï µðÀÚÀÎµÇ¾î ¿Ô±â ¶§¹®¿¡ ÆÞÀº ´Ü¼øÈ÷ ÇÁ·Î±×·¡¹Ö ¾ð¾î¶ó ÇÏ°í ¸»±â¿¡´Â À¯¿¬ÇÔ¿¡¼­³ª µÑ·¯½Î°í ÀÖ´Â ¹®È­¿¡¼­ ¹«Ã´ µ¶Æ¯ÇÕ´Ï´Ù.

ÆÞ¿¡ ¿µÇâÀ» ÁØ ºÐ¾ß

À§ ±×¸²Ã³·³ ÆÞÀº ¾ð¾îÇÐÀÇ ¿µÇâÀ» ¹Þ¾Æ¼­ ¹®¸Æ ÀÇÁ¸¼º, ½¬¿î ÀÏÀº ½±°Ô ¾î·Á¿î Àϵµ °¡´ÉÇÑ Æ¯Â¡, TIMTOWTDI °°Àº ÀÚ¿¬¾î¿Í À¯»çÇÑ Æ¯Â¡À» °®½À´Ï´Ù. ¶Ç ÇÑ ÆíÀ¸·Î´Â ÀÏ¹Ý »ó½Ä,'ÀÌ·¸°Ô µÇ¾î¾ß ÇÏÁö ¾Ê°Ú´À³Ä'¶ó°í »ý°¢ÇÒ ¼ö ÀÖ´Â ºÎºÐÀÌ ´ç¿¬È÷ ±×·¸°Ô ±¸ÇöµÇ¾î ÀÖ´Â ¾ð¾îÀÔ´Ï´Ù. ¶ÇÇÑ Â÷°¡¿î ÄÄÇ»ÅÍ ¾ð¾î¿¡ ¹®ÇÐÀûÀÎ ÀÚÃ븦 °¡¹ÌÇÑ ¾ð¾îÀÔ´Ï´Ù.

ÆÞÀº ±× ¾î¶² Ä¿¹Â´ÏƼº¸´Ù ÀÚ¹ßÀûÀÌ°í µµ¿òÀ» ÁÖ´Â °ÍÀ» Áñ±â´Â °­·ÂÇÑ Ä¿¹Â´ÏƼ°¡ ÀÖÀ¸¸ç, ´Ù¸¥ »ç¶÷ÀÌ ¸¸µç ÄÚµå(¸ðµâ)¸¦ ¼Õ½±°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï È®À强ÀÌ ÁÁ°Ô ¼³°èµÇ¾î ÀÖ½À´Ï´Ù. CPAN(¾¾ÆÒ)À̶ó´Â °ø°£¿¡´Â »ó»óÇÒ ¼ö ÀÖ´Â °ÅÀÇ ¸ðµç ±â´ÉµéÀÌ ÀÌ¹Ì ¸ðµâ ÇüÅ·Π°ø°³µÇ¾î À־ ÇÊ¿äÇÑ ±â´ÉÀ» ¾ÆÁÖ ¼Õ½±°Ô ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿î¿µÃ¼°è, Áغñ¹°

ÀÌ ¾¾¸®Áî´Â ±âº»ÀûÀ¸·Î ¸®´ª½º(À¯´Ð½º)¸¦ »ç¿ëÇѴٴ°ÍÀ» ÀüÁ¦·Î ÇÒ ¿¹Á¤ÀÔ´Ï´Ù. ÇÏÁö¸¸ À©µµ¿ìÁî À¯Á®µéµµ °ÆÁ¤ÇÏ½Ç ÇÊ¿ä´Â ¾ø½À´Ï´Ù. ÆÞÀº Å©·Î½º Ç÷§Æû ¾ð¾îÀÔ´Ï´Ù. À¯´Ð½º»ó¿¡¼­ ÀÛ¼ºÇÑ ÆÞ ÇÁ·Î±×·¥À» ¹«¸®¾øÀÌ À©µµ¿ìÁî»ó¿¡¼­ ½ÇÇàÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. °ÅÀÇ ¼öÁ¤ÇÒ Çʿ䵵 ¾ø½À´Ï´Ù. ÆÞÀº ¸®´ª½º, ¿©·¯ Á¾·ùÀÇ À¯´Ð½º, À©µµ¿ìÁî´Â ¹°·ÐÀ̰í, ¸ÅŲÅä½Ã, ¾ÆÅ¸¸®, ¾Æ¹Ì°¡, OS/2 µî °ÅÀÇ ´ëºÎºÐÀÇ ¿î¿µÃ¼°è·Î Æ÷ÆÃµÇ¾î ÀÖ½À´Ï´Ù.

¸®´ª½º »ç¿ëÀÚ´Â ¾Æ¸¶µµ »ç¿ëÇϰí ÀÖ´Â ¸®´ª½º ¹èÆ÷º»À» ÀνºÅçÇÒ ¶§ ÆÞÀÌ ÇÔ²² ÀνºÅçµÇ¾î ÀÖÀ» °ÍÀÔ´Ï´Ù. È®ÀÎÇØ º¸·Á¸é,

whereis perl

À̶ó°í Å͹̳Îâ¿¡¼­ ÀÔ·ÂÇØ º¸¼¼¿ä.
/usr/bin/perl À̳ª /usr/local/bin/perl À̶ó°í ³ª¿Ã °ÍÀÔ´Ï´Ù.
ÆÞÀº ÀÌ¹Ì ¸®´ª½º¿Í À¯´Ð½º¿¡ ¿ö³« ±í°Ô Æ÷ÇԵǾî Àֱ⠶§¹®¿¡ ÆÞÀÌ ¾øÀÌ´Â ¸®´ª½º¸¦ Á¦´ë·Î ÀνºÅçÀ» ÇÒ ¼ö ¾øÀ» Á¤µµ°¡ µÇ¾ú½À´Ï´Ù. ±×·¡¼­ °ÅÀÇ À¢¸¸ÇÑ ¸®´ª½º/À¯´Ð½º ȯ°æÀº ÆÞÀÌ ÇÔ²² ¼³Ä¡µÇ¾î ÀÖ½À´Ï´Ù.

»õ·Î¿î ¹öÀüÀÇ ÆÞÀ» ÀνºÅçÇÏ·Á¸é ¸®´ª½ºÀÇ °æ¿ì 2°¡Áö ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ¹ÙÀ̳ʸ® ¹èÆ÷º»À» ¹Þ¾Æ¼­ ¼³Ä¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¶Ç´Â ¼Ò½ºÄڵ带 ´Ù¿î·ÎµåÇØ¼­ Á÷Á¢ ÄÄÆÄÀÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹ÙÀ̳ʸ®ÀÇ °æ¿ì www.perl.comÀÇ ´Ù¿î·Îµå¿¡ ¸î Á¾·ù°¡ ÀÖ½À´Ï´Ù.
À©µµ¿ìÁî ÆÞ·Îµµ ³Î¸® ¾Ë·ÁÁø Activestate¿¡¼­ ¹èÆ÷Çϰí ÀÖ´Â ¹ÙÀ̳ʸ® µîÀÌ ¸µÅ©µÇ¾î ÀÖ½À´Ï´Ù. ¹ÙÀ̳ʸ®¸¦ ¼³Ä¡Çصµ µÇÁö¸¸, ¿ª½Ã Á¦´ë·Î ÇÏ·Á¸é ¼Ò½ºÄڵ带 Á÷Á¢ ÄÄÆÄÀÏÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. ÃֽйöÀü ¼Ò½ºÄÚµå´Â http://www.perl.com/pub/a/language/info/software.html¿¡ ÀÖ½À´Ï´Ù. stable¹öÀüÀ» ãÀ¸¼¼¿ä.
À̰ÍÀ» ´Ù¿î·Îµå ÇÑ ´ÙÀ½ tar.gz¸¦ Ç®°í (Ǫ´Â ¹æ¹ýÀº ¸®´ª½º ±âº»¸í·É¾î¸¦ Àо¼¼¿ä.) »õ·Î »ý±ä "perl-¹öÀü" µð·ºÅ丮·Î cdÇØ¼­ À̵¿ÇÑ µÚ ´ÙÀ½°ú °°ÀÌ ¸í·É¾î¸¦ ŸÀÌÇÎ ÇÕ´Ï´Ù. ¸Ç ¾Õ ´Þ·¯Ç¥½Ã´Â Å͹̳ΠâÀÇ ÇÁ·³ÇÁÆ®ÀÔ´Ï´Ù.


$ sh Configure -d
$ make
$ make test
$ make install

¹ØÀÇ ¼¼ °³¸¦ ÇÑ ¹ø¿¡ ½ÇÇàÇÏ´Â ¹æ¹ýÀ¸·Î &&¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

$ make && make test && make install

¹¹°¡ ÇÑÂü ÄÄÆÄÀÏ µÇ´Âµ¥ ±×³É ³öµÎ¸é µË´Ï´Ù. (Áß°£¿¡ Áú¹®ÀÌ ³ª¿À¸é¼­ ¸ØÃß¸é ¿£ÅÍ۸¦ ´­·¯ÁÖ¸é µË´Ï´Ù.) ÄÄÆÄÀÏÀÌ ³¡³ª¸é ÆÞÀÌ Á¦´ë·Î ÀνºÅçµÇ¾ú´ÂÁö È®ÀÎÇØ º¸¼¼¿ä.

Å͹̳Πâ¿¡¼­,

$ perl -v

¸¦ ÀÔ·ÂÇϸé ÀúÀÛ±Ç °ü·Ã ³»¿ë°ú ÇÔ²² ÆÞ ¹öÀüÀÌ ³ª¿É´Ï´Ù.

À©µµ¿ìÁî À¯Á®´Â www.activestate.com¿¡ °¡¼­ ÀνºÅç·¯¸¦ ´Ù¿î·ÎµåÇϼ¼¿ä. ÀϹÝÀûÀÎ À©µµ¿ìÁî ÇÁ·Î±×·¥Ã³·³ setup ÇÁ·Î±×·¥À» Ŭ¸¯ÇÏ¸é ¾ÆÁÖ ½±°Ô ÀνºÅçÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀ» ¾Æ´Â °ÍÀÌ ¾Æ´Ï¶ó¸é ±×³É OK¸¸ ´©¸£¸é µË´Ï´Ù.

ÀÌÁ¦ ÆÞ ÇÁ·Î±×·¥À» ½ÇÁ¦·Î ¾î¶»°Ô ½ÇÇàÇÏ´ÂÁö ¾Ë¾Æº¾½Ã´Ù. ÆÞ ÇÁ·Î±×·¥Àº,

  • ¸®´ª½º À¯Á®´Â Å͹̳Πâ¿¡¼­ (ÇÑÅÒ µî)
  • À©µµÁî 9x À¯Á®´Â µµ½ºÃ¢¿¡¼­
  • À©µµÁî NT, 2000, XP À¯Á®´Â ¸í·É ÇÁ·ÒÇÁÆ® â¿¡¼­

½ÇÇàÇÕ´Ï´Ù.

¸®´ª½º À¯Á®´Â Å͹̳Πâ¿¡¼­ ¹Ù·Î vi³ª emacs µîÀÇ ÅØ½ºÆ® ¿¡µðÅ͸¦ ¶ç¿ö¼­ ÀÛ¾÷ÇÑ ´ÙÀ½ Å͹̳Πâ¿¡¼­ °ð¹Ù·Î ½ÇÇàÇØ º¼ ¼ö ÀÖ½À´Ï´Ù. À©µµ¿ìÁî À¯Á®´Â ¾Æ¹« ÅØ½ºÆ® ¿¡µðÅÍ¿¡¼­³ª Äڵ带 ÀÛ¼ºÇÑ ´ÙÀ½ Àû´çÇÑ °÷¿¡ ÀúÀåÇÑ µÚ µµ½º âÀ̳ª ¸í·É ÇÁ·ÒÇÁÆ® â¿¡¼­ ½ÇÇàÇÏ¸é µË´Ï´Ù.

¸®´ª½º À¯Á®´Â Å« ¹®Á¦°¡ ¾øÁö¸¸ À©µµ¿ìÁî À¯Á®ÀÇ °æ¿ì¿¡´Â Å͹̳ΠÇÁ·Î±×·¥(cmd.exe)ÀÌ ÆÞ ÇÁ·Î±×·¥°ú °°Àº µð·ºÅ丮 ³»¿¡ ÀÖ¾î¾ß ½ÇÇàÀÌ µÇ¹Ç·Î Ž»ö±âÀÇ °Ë»ö ±â´ÉÀ» ÀÌ¿ëÇØ¼­ cmd.exe ÇÁ·Î±×·¥À» ã¾Æ¼­ À̰ÍÀ» ÆÞ ÇÁ·Î±×·¥À» ÀúÀåÇÒ µð·ºÅ丮¿¡ º¹»çÇØ µÎ¼¼¿ä. ¿¹¸¦ Çϳª µé¾î¼­ ¼³¸íÇØ º¼²²¿ä. ÅØ½ºÆ® ¿¡µðÅ͸¦ ¿¬ ´ÙÀ½,

print "hello, world!";

¶ó°í ÀÔ·ÂÇϰí À̰ÍÀ» hello.plÀ̶ó´Â À̸§À¸·Î ÀúÀåÀ» ÇÕ´Ï´Ù. ÀúÀåÇÑ ±× µð·ºÅ丮¿¡ cmd.exe¸¦ º¹»çÇÏ°í ½ÇÇàÇÕ´Ï´Ù. ¸í·É ÇÁ·ÒÇÁÆ® â¿¡ hello.pl À̶ó°í ÀÔ·ÂÇϼ¼¿ä. ÆÞ Äڵ尡 ½ÇÇàµÇ¸é¼­ hello, world!°¡ Ãâ·ÂµË´Ï´Ù. È®ÀåÀÚ°¡ .plÀÎ ÆÄÀÏÀº Perl.exe·Î ½ÇÇàÇϵµ·Ï ÀνºÅç ½Ã ¼³Á¤ÀÌ µÇ¾î Àֱ⠶§¹®¿¡ ¹Ù·Î ½ÇÇàµË´Ï´Ù. ¸¸¾à ¾ÈµÇ¸é ¸í·É ÇÁ·ÒÇÁÆ® â¿¡¼­,

perl hello.pl

¶ó°í ÇØº¸¼¼¿ä.

¸®´ª½º À¯Á®´Â vi¿¡¼­ ´ÙÀ½°ú °°ÀÌ ÄÚµùÀ» ÇÕ´Ï´Ù.


#!/usr/bin/perl
print "hello,world!";

À̰ÍÀ» hello.plÀ̶ó´Â À̸§À¸·Î ÀúÀåÇÑ ´ÙÀ½,
Å͹̳ο¡¼­ perl hello.pl ¶Ç´Â ÇöÀç ÆÞ ÇÁ·Î±×·¥ÀÌ ÀÖ´Â µð·ºÅ丮¿¡ ÀÖ´Ù¸é ./hello.pl ¶ó°í ÇØÁÖ¸é ½ÇÇàµË´Ï´Ù. ÁÖÀÇÇÒ Á¡Àº, ÆÄÀÏ ÆÛ¹Ì¼ÇÀÌ ¹Ýµå½Ã 0755·Î µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ÆÛ¹Ì¼ÇÀº ÆÛ¹Ì¼Ç(Permission)À» Âü°íÇϼ¼¿ä. chmod +x hello.pl ¶Ç´Â chmod 755 hello.pl·Î ÇØ¼­ ½ÇÇà°¡´ÉÇÑ ÆÛ¹Ì¼ÇÀ» ÁÖ¸é µË´Ï´Ù.

¸®´ª½ºÀÎ °æ¿ì À§¿Í °°ÀÌ Ã¹ÁÙÀÌ ¹Ýµå½Ã #!/usr/bin/perl·Î ½ÃÀÛÇØ¾ß ÇÕ´Ï´Ù. (whereis perl ¿¡¼­ ¾Ë·ÁÁÖ´Â ÆÞ ÆÐ¾²ÀÔ´Ï´Ù. À¯´Ð½ºÀÎ °æ¿ì #!/usr/local/bin/perlÀÏ °ÍÀÔ´Ï´Ù) #!Àº shebang(=sharp + bang)À̶ó°í ÇÕ´Ï´Ù. ¹Ø¿¡ ³ª¿À´Â Äڵ带 ¾î¶² ÇÁ·Î±×·¥À» ÀÌ¿ëÇØ¼­ ½ÇÇàÇÒ °ÍÀΰ¡¸¦ ¼³¸íÇÏ´Â ºÎºÐÀÔ´Ï´Ù. #!/usr/bin/perlÀÇ Àǹ̴Â, "´ÙÀ½¿¡ ³ª¿Ã ÄÚµå´Â /usr/bin µð·ºÅ丮¿¡ ÀÖ´Â perl ÇÁ·Î±×·¥À¸·Î ½ÇÇàÇ϶ó"ÀÔ´Ï´Ù.

¸®´ª½º´Â ÆÞ ½ÇÇà ¹æ¹ýÀÌ Çϳª ´õ ÀÖ½À´Ï´Ù. °£´ÜÇÑ ¼ö½Ê ÁÙ ³»¿ÜÀÇ ÆÞ ÄÚµå(Snippet)¸¦ Å×½ºÆ®ÇÒ ¶§ »ç¿ëµÇ´Â ¹æ¹ýÀÔ´Ï´Ù. Å͹̳Πâ¿¡¼­ perl¸¸ ÀÔ·ÂÇÕ´Ï´Ù. ±×·¯¸é ÇÑ ÁÙ ¶ç¿öÁö¸é¼­ ±â´Ù¸®°í ÀÖÀ» °ÍÀÔ´Ï´Ù. ±× »óÅ¿¡¼­ °£´ÜÇÑ ÆÞ Äڵ带 ÀÔ·ÂÇÕ´Ï´Ù. º¹»ç-ºÙÀ̱⸦ ÇØµµ µË´Ï´Ù. ´Ù ÀÔ·ÂÇßÀ¸¸é CTRL-D¸¦ ´­·¯ º¸¼¼¿ä. ±× ÆÞ Äڵ尡 ½ÇÇàµÇ¸é¼­ (¿¡·¯°¡ ÀÖ´Ù¸é ¾Ë·ÁÁָ鼭) °á°ú°¡ Ãâ·ÂµË´Ï´Ù. ÆÞ ÆÄÀÏÀ» µû·Î ¸¸µéÁö ¾Ê°í °£´ÜÇÏ°Ô Å×½ºÆ®ÇÒ ¶§ ¾ÆÁÖ À¯¿ëÇÕ´Ï´Ù.

ÀÌÁ¦ º»°ÝÀûÀ¸·Î ½Å³ª´Â ÆÞÀÇ ¼¼°è·Î ÇÔ²² µé¾î°¡ º¾½Ã´Ù.

Áö±Ý °è½Å °÷Àº: TECH > [ÆÞ] ÆÞ ÇÁ·Î±×·¡¹Ö ¾ð¾î: ÆÞÀÇ ¹®È­¿Í ÄÚµù ȯ°æ ¼³Á¤