LogIn E-mail
¼³°èÀ̾߱â
[CGI]GET and POST
# 72 JMJS    06.11.20 16:03

CGIÀÇ ±âÃÊ

1. CGI¶õ ¹«¾ùÀΰ¡?


CGI´Â Common Gateway InterfaceÀÇ ¾àÀÚÀÌ´Ù. À¥ ºê¶ó¿ìÀú(Netscape Communucator, Internet Explorer)¿¡¼­´Â HTML·Î ¿©·¯ °¡Áö Á¤º¸¸¦ ó¸®ÇÏÁö¸¸, ±× ±â´É¸¸À¸·Î ¸ðµç Á¤º¸Ã³¸®¸¦ ´Ù ÇÒ ¼ö ¾ø´Ù. À̰ÍÀ» º¸ÃæÇϱâ À§ÇÑ ¿ÜºÎ ÇÁ·Î±×·¥°ú À¥¼­¹ö(HTTP Server)°£ÀÇ ¿¬°á ¿ªÇÒÀ» Çϱâ À§ÇÑ ±Ô¾àÀÌ CGIÀÌ´Ù. ¶Ç´Â ³ÐÀº Àǹ̷ΠCGI¸¦ ¼öÇàÇÏ´Â ¿ÜºÎ ÇÁ·Î±×·¥À» Æ÷ÇÔÇÏ¿© ¸»Çϱ⵵ ÇÑ´Ù. ¿¹¸¦ µé¾î, ȨÆäÀÌÁö¿¡ ¹æ¹®°´µéÀÇ comment¸¦ ¹ÞÀ» ¼ö ÀÖ´Â ¹æ¸í·ÏÀ» ¸¸µé·Á°í ÇÒ ¶§, À¥¿¡¼­ ±¸ÇöÇÏ´Â HTML¸¸À¸·Î´Â ÇØ°áÇÒ ¼ö ¾ø´Ù. ±×·¡¼­ ¿ÜºÎ ÇÁ·Î±×·¥ÀÌ ÇÊ¿äÇѵ¥, ÀÌ ¶§ ¿ÜºÎ ÇÁ·Î±×·¥°ú À¥ °£¿¡ ¼­·Î ÁÖ°í ¹ÞÀ» ¼ö ÀÖ´Â ±Ô¾àÀ» CGI¶ó°í ÇÑ´Ù. ±×¸®°í,±× ¶§ »ç¿ëÇÏ´Â ÇÁ·Î±×·¥À» gateway ÇÁ·Î±×·¥À̶ó°í Çϴµ¥ À̰ÍÀ» ÈçÈ÷ CGI ÇÁ·Î±×·¥(ȤÀº ½ºÅ©¸³Æ®)À̶ó°í ÇÑ´Ù. ÀÌ CGIÇÁ·Î±×·¥Àº Åë»óÀûÀ¸·Î C/C++ ³ª PERLȤÀº UNIX Shell, Tcl/Tk µîÀ» »ç¿ëÇÏ¿© ±¸ÇöÇÑ´Ù.


¡Ø CGIÀÇ µ¿ÀÛ¿ø¸®

CGIÀÇ µ¿ÀÛ¿ø¸®¸¦ ¾Ë±â À§Çؼ­´Â ¿ì¼± À¥À» ÀÌÇØÇØ¾ß ÇÑ´Ù. ÇѸ¶µð·Î À¥À̶õ 'ÇöÀç±îÁö °í¾ÈµÈ Á¤º¸¿Í Åë½Å ½Ã½ºÅÛÀÇ ÁýÇÕü'¶ó°í Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. Áö±Ý±îÁö´Â Á¤º¸¸¦ ¸ð¾Æ¼­ »Ñ¸®±â¸¸ ÇÒ ¼ö ÀÖ´Â ´Ü¹æÇ⠽ýºÅÛÀ¸·Î TCP/IP¶ó´Â ³×Æ®¿öÅ©¿¡¼­ Ŭ¶óÀÌ¾ðÆ® ¼­¹ö ¸ðµ¨·Î ¿òÁ÷À̰í ÀÖ´Ù. Áï, Ŭ¶óÀÌ¾ðÆ®´Â À¥ ºê¶ó¿ìÀú°¡ µÇ°í, ¼­¹ö´Â HTTP ¼­¹ö°¡ µÈ´Ù. ±×¸®°í ±× »çÀÌ¿¡ ÁÖ°í¹Þ´Â ³»¿ëÀº HTTP¶ó°í ÇÏ´Â ÇÁ·ÎÅäÄÝ·Î Çì´õ¿Í HTML¹®¼­°¡ µÈ´Ù. Áï, À¥¿¡ ´ëÇÑ »ç¿ëÀÚ ¿ä±¸°¡ °è¼ÓÇØ¼­ ´Ã¾î³ª¸é¼­ Á¤ÀûÀÎ HTML¹®¼­¸¦ ½Ç¾î³ª¸£´Â À¥¿¡¼­ ÀÎÅÍ·¢Æ¼ºê(interactive)ÇÏ°í µ¿ÀûÀÎ(active) ³»¿ëÀ» Àü´ÞÇÒ ¼ö ÀÖµµ·Ï È®ÀåµÇ¾î °¡°í ÀÖ´Ù.

ÀÌ CGI¸¦ ±¸ÇöÇϱâ À§Çؼ­´Â º¸Åë À¥ ÂÊ¿¡¼­´Â FORM ű׸¦ ÅëÇØ¼­ »ç¿ëÀÚÀÇ ÀԷ°ªµéÀ» À¥¼­¹ö(httpd)·Î º¸³»°í, ¼­¹ö¿¡¼­´Â ±× °ªÀ» CGIÇÁ·Î±×·¥¿¡°Ô ÀԷ°ªµéÀ» ³Ñ°ÜÁØ´Ù.


µ¥ÀÌŸÀÇ È帧À» ¾Ë¾Æ º¸¸é,
(1) ¿äûÀÚ, Áï Ŭ¶óÀÌ¾ðÆ®´Â À¥ ºê¶ó¿ìÀú¸¦ ÀÌ¿ëÇÏ¿© ÀÔ·Â ¾ç½Ä(FORM)¿¡ µ¥ÀÌŸ¸¦ ÀÔ·ÂÇϰųª ȤÀº ±âŸ ¹æ¹ýÀ¸·Î ¼­¹ö¿¡ º¸³¾ µ¥ÀÌŸ¸¦ ÁغñÇÑ´Ù.

(2) À¥ ºê¶ó¿ìÀú´Â µ¥ÀÌŸ¸¦ ÀÔ·Â¹Þ¾Æ Á¢¼ÓµÇ¾î ÀÖ´Â À¥ ¼­¹ö·Î TCP/IP¸¦ ÅëÇØ µ¥ÀÌŸ¸¦ º¸³½´Ù.

(3) À¥ ¼­¹öÀÇ µ¥¸ó(Daemon)Àº ÀÌ µ¥ÀÌŸ¸¦ CGI ȯ°æº¯¼ö(QUERY_STRING) => GET Method ȤÀº Ç¥ÁØ ÀÔ·Â(Standard Input) => POST Method À¸·Î ¹Þ¾Æ CGI ÇÁ·Î±×·¥¿¡ ³Ñ±ä´Ù.

(4) ¿©±â¼­ CGI ÇÁ·Î±×·¥ÀÌ ÀÛµ¿ÇÏ°Ô µÈ´Ù. ÇÁ·Î±×·¥Àº ¼­¹ö ³»¿¡ ÀÖ´Â ASCII, BINARY ÆÄÀÏ È¤Àº µ¥ÀÌŸº£À̽º¿¡ Á¢¼ÓÇÏ¿© ÀԷ ȤÀº Ãâ·Â µîÀÇ ÀÏÀ» ¼öÇàÇÏ°í ¸®ÅÏµÈ °á°ú¸¦ ¹Þ´Â´Ù.

(5) CGI ÇÁ·Î±×·¥Àº ÀÌ °á°ú¸¦ ProcessingÇϰí Àû´çÇÑ MIME(Multipurpose Internet Mail Extension) TypeÀ¸·Î Æ÷¸ËÆÃ ÇÑ ÈÄ ´Ù½Ã µ¥¸óÀ¸·Î ³Ñ°ÜÁØ´Ù.

(6) µ¥¸óÀº Æ÷¸ËÆÃµÈ °á°ú¸¦ À¥ ºê¶ó¿ìÀú, Áï Ŭ¶óÀÌ¾ðÆ®¿¡°Ô ´Ù½Ã TCP/IP¸¦ ÀÌ¿ëÇÏ¿© ³Ñ°ÜÁØ´Ù.

(7) À¥ ºê¶ó¿ìÀú´Â MIME Type¿¡ µû¶ó CGI ÇÁ·Î±×·¥À¸·ÎºÎÅÍÀÇ µ¥ÀÌŸ¸¦ ºê¶ó¿ìÀú¿¡ º¸¿©ÁØ´Ù.



¡Ø CGI¶ó´Â °ÍÀÌ ±¸ÇöµÇ±â À§Çؼ­´Â ´ÙÀ½°ú °°Àº 4°¡Áö°¡ ÇÊ¿äÇÏ´Ù.

(1) À¥ ºê¶ó¿ìÀú(³Ý½ºÄÉÀÌÇÁ, ÀͽºÇ÷η¯ µî...)
(2) À¥ ¼­¹ö
(3) À¥ ¼­¹ö ³»ÀÇ °øÀ¯°¡´ÉÇÑ ÀÚ¿ø(HTML¹®¼­, ±âŸ ÅØ½ºÆ® ÆÄÀÏ, À̹ÌÁö ÆÄÀÏ, ¸ÖƼ¹Ìµð¾î °´Ã¼, µ¥ÀÌŸº£À̽º...)
(4) ±×¸®°í, °¡Àå Áß¿äÇÑ CGI ÇÁ·Î±×·¥


2. ÀԷ°ª Àü´Þ¹æ½Ä

À¥ ÂÊ¿¡¼­ ÀԷ°ªµéÀ» ³Ñ°ÜÁÖ´Â FORM ű×ÀÇ ±¸¼ºÀº º¸Åë ´ÙÀ½°ú °°´Ù.
  <FORM METHOD=get/post ACTION="http://www.abc.com/cgi-bin/abc.cgi">


¹°·Ð À̰ÍÀº º¸ÆíÀûÀ¸·Î »ç¿ëÇÏ´Â °æ¿ìÀÇ ¿¹À̰í, ÀÌ FORM ű׿¡´Â ´Ù¸¥ ¸¹Àº ¼Ó¼ºµéÀÌ ÀÖ´Ù.
¿©±â¼­ METHOD´Â post¿Í get µÎ °³ÀÇ ¹æ½ÄÀÌ Àִµ¥, ÀÌ ¹æ½Ä¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸ÀÚ.    

     2-1. GET METHOD

¢Ñ GET ¹æ½ÄÀº À¥ ºê¶ó¿ìÀú·ÎºÎÅÍÀÇ ÀÔ·Â µ¥ÀÌŸ¸¦ À¥ ¼­¹ö ³»ÀÇ CGI ȯ°æº¯¼ö Áß QUERY_STRING À̶ó´Â º¯¼ö°¡ ¹Þ¾Æµé¿© ÇÁ·Î±×·¥À» ¼öÇàÇÏ´Â ¹æ½ÄÀÌ´Ù.

FORM ű׿¡ METHOD=getÀ¸·Î Çϰųª »ý·«ÇÏ¸é »ç¿ëÀÚÀÇ ÀԷ°ªµéÀÌ È¯°æ º¯¼ö (Environment Variable)¿¡ ÀúÀåµÇ¾î ³Ñ°ÜÁø´Ù. Áï, °¢ ÀԷ°ªµéÀÌ ±âº» URL¿¡ ºÙ´Â Àμö(PARAMETER)·Î¼­ ÷°¡µÇ¾î CGIÇÁ·Î±×·¥À¸·Î °ªÀ» ³Ñ°Ü ÁÖ°Ô µÈ´Ù.

¹°·Ð ÀÌ get METHOD´Â FORM ű׸¦ »ç¿ëÇÏÁö ¾Ê°í ¹Ù·Î URL¿¡ Àμö¸¦ ÷°¡ÇÏ¿© »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. (GET¹æ½ÄÀ¸·Î µ¥ÀÌÅ͸¦ º¸³¾ °æ¿ì CGI ÇÁ·Î±×·¥Àº ÀԷ°ªÀ» ¹Ýµå½Ã QUERY_STRING À̶ó´Â CGI ȯ°æ º¯¼ö·Î ¹Þ¾Æ¾ß ÇÑ´Ù. ºê¶ó¿ìÀú·ÎºÎÅÍ ³Ñ¾î°¡´Â µ¥ÀÌÅÍ´Â "À̸§=°ª"ÀÇ Çü½ÄÀ¸·Î ³Ñ¾î°£´Ù.)

¿¹¸¦ µé¾î, http://www.abc.com/cgi-bin/abc.cgi?First+Name=foo&Last+Name=bar ¿Í °°Àº Çü½ÄÀ¸·Î »ç¿ëµÈ´Ù.

ÀÌ GET METHOD¸¦ ÀÌ¿ëÇÏ¸é ±× ÀԷ°ªµéÀÌ È¯°æº¯¼öÀÇ ÇϳªÀÎ QUERY_STRING ¿¡ µé¾î°¡¼­ Àü´ÞµÇ´Âµ¥, CGI½ºÅ©¸³Æ®´Â ±× QUERY_STRING¿¡ µé¾î ÀÖ´Â °ªÀ» Àд´Ù. ÀÌ ¶§ ±× °ªµéÀº ÀÔ·ÂµÈ ±×´ë·Î ³Ñ¾î°¡´Â °ÍÀÌ ¾Æ´Ï¶ó ¼­¹ö¿¡ ÀÇÇØ ¿©·¯°¡Áö·Î º¯È¯(ÀÎÄÚµù)µÇ¾î ³Ñ¾î°¡´Âµ¥ CGI½ºÅ©¸³Æ®¿¡¼­´Â ±× °ªµéÀ» ÇØµ¶(decoding)ÇØ¾ß ÇÑ´Ù.

ÀÌ GET METHOD´Â º¸Åë ÀԷ°ªµéÀÌ ¸¹Áö ¾Ê´Â °æ¿ì ȤÀº ±×³É URL¿¡ ºÙ´Â ÆÄ¶ó¹ÌÅÍ·Î ³Ñ°Ü¼­ CGI½ºÅ©¸³Æ®·Î Àü´ÞÇÒ ¶§¿¡ »ç¿ëÇÑ´Ù.


     2-2. POST METHOD

¢Ñ POST ¹æ½ÄÀº À¥ ºê¶ó¿ìÀú·ÎºÎÅÍÀÇ ÀÔ·Â µ¥ÀÌŸ¸¦ À¥ ¼­¹ö°¡ Ç¥ÁØ ÀÔ·Â(Standard Input)À¸·Î ¹Þ¾Æµé¿© ÇÁ·Î±×·¥À» ¼öÇàÇÏ´Â ¹æ½ÄÀÌ´Ù.

FORMÅÿ¡¼­ METHOD=post·Î Çϸé, get METHOD°¡ ȯ°æº¯¼öÁßÀÇ ÇϳªÀÎ QUERY_STRINGÀ» ÅëÇØ Àü´ÞµÇ´Â °Í°ú ´Þ¸® stdin(standard input:Ç¥ÁØÀÔ·Â) À» ÅëÇØ¼­ Àü´ÞµÈ´Ù. get METHOD°¡ Àμö¸¦ ÅëÇØ¼­ Àü´ÞµÇ¹Ç·Î Ä¿¸Çµå¶óÀÎÀÇ ±æÀÌ¿¡ ÀÇÇÑ Á¦ÇÑÀ» ¹Þ´Â ¹Ý¸é¿¡, post METHOD´Â stdinÀ» ÀÌ¿ëÇϹǷΠµ¥ÀÌŸ¾çÀÇ Á¦ÇÑÀÌ ¾ø´Ù. ¶ÇÇÑ post METHOD¿¡¼­µµ ȯ°æº¯¼öµéÀº stdin°ú ÇÔ²² Àü´ÞµÈ´Ù. ±×¸®°í post¹æ½Äµµ ¸¶Âù°¡Áö·Î ÀԷ°ªµéÀÌ encodingµÇ¾î ³Ñ¾î¿ÈÀ¸·Î CGI¿¡¼­ ±× °ªµéÀ» decodingÇØ¾ßÇÑ´Ù.

À¥ ¼­¹ö¿¡¼­ µ¥ÀÌÅ͸¦ º¸³»¸é read ÇÔ¼ö¸¦ ½á¼­ STDIN(Perl¿¡¼­ Standard inputÀ» ³ªÅ¸³½´Ù.) À» ÅëÇØ CONTENT_LENGTH ȯ°æº¯¼ö¿¡ ¹®ÀÚ¿­ÀÇ ±æÀ̰¡ ÀúÀåµÈ´Ù.
±×·¯³ª, ÇѰ¡Áö ´Ù¸¥ Á¡Àº, POST ¹æ½ÄÀ¸·Î µ¥ÀÌŸ¸¦ ³Ñ±æ ¶§´Â ¹Ýµå½Ã ÀÔ·Â ¾ç½Ä ¾È¿¡¼­ ÀÔ·ÂµÈ µ¥ÀÌŸ¿©¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù.
ºê¶ó¿ìÀú¿¡¼­ Á÷Á¢ LocationÀ» ¿­ ¼öµµ ¾ø°í, ÇÏÀÌÆÛ¸µÅ©·Îµµ ±¸ÇöÇÒ ¼ö ¾ø´Ù. ±×¸®°í, GET ¹æ½ÄÀ¸·Î º¸³»´Â µ¥ÀÌŸÀÇ ¾ç¿¡´Â ÇѰ谡 Àִµ¥, POST ¹æ½ÄÀº ±×·± Á¦ÇÑÀÌ ¾ø´Ù.

±×¸®°í, Ãâ·Â °á°ú°¡ ³ªÅ¸³¯ ¶§ ºê¶ó¿ìÀú¿¡ º¸ÀÌ´Â °á°ú ¹× LocationÀº ´ÙÀ½°ú °°´Ù.
¿¹) http://www.foo.com/cgi-bin/mycgi.cgi


3. ȯ°æ º¯¼ö(Environment Variables)

 ; À¥ ¼­¹ö°¡ CGI¸¦ À§ÇØ »ç¿ëÇÏ´Â º¯¼ö
 

ȯ°æº¯¼ö ¼³¸í(¿¹Á¦)
 
SERVER_SOFTWARE
 ½ºÅ©¸³Æ®¸¦ È£ÃâÇÑ HTTP ¼­¹öÀÇ À̸§/¹öÀü (NCSA/1.5.1, HTTP/1.1)
 
SERVER_NAME
 À¥¼­¹öÀÇ µµ¸ÞÀÎ À̸§À̳ª IPÁÖ¼Ò (sarim.changwon.ac.kr)
 
GATEWAY_INTERFACE
 ¼­¹ö°¡ Áö¿øÇÏ´Â CGI ÀÎÅÍÆäÀ̽ºÀÇ ¹öÀü (CGI/1.1)
 
SERVER_PROTOCOL
 Å¬¶óÀÌ¾ðÆ®°¡ ¿äû½Ã »ç¿ëµÈ ÇÁ·ÎÅäÄÝ À̸§/¹öÀü (HTTP/1.0)
 
SERVER_PORT
 ¿¬°áµÈ Æ÷Æ® ¹øÈ£ (80)
 
REQUEST_METHOD
 ½ºÅ©¸³Æ®¸¦ È£ÃâÇÑ ¹æ¹ý (GET, POST)
 
HTTP_ACCEPT
 Å¬¶óÀÌ¾ðÆ®°¡ ¹Þ¾ÆµéÀÏ ¼ö ÀÖ´Â MIMEÀÇ À¯Çü (image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, video/mpeg..)
 
HTTP_COOKIE
 
 
PATH_INFO
 Å¬¶óÀ̾ðÆ®ÀÇ URL¿¡ ºÙ¾î ÀÖ´Â º°µµÀÇ °æ·Î Á¤º¸ (URL¿¡¼­ µð·ºÅ丮 Á¤º¸, /index.html)
 
PATH_TRANSLATED
 Å¬¶óÀÌ¾ðÆ®°¡ URL¿¡ ºÙÀÎ º°µµÀÇ °æ·Î¸¦ ½ºÅ©¸³Æ®ÀÇ °æ·Î·Î º¯È¯ÇÑ °Í (/home/httpd/htdocs/index.html)
 
SCRIPT_NAME
 È£ÃâµÈ ½ºÅ©¸³Æ® ÆÄÀÏ À̸§ (/cgi-bin/test.cgi)
 
QUERY_STRING
 Å¬¶óÀÌ¾ðÆ®°¡ ½ºÅ©¸³Æ® À̸§°ú '?'·Î ±¸ºÐÇØ¼­ URL¿¡ ºÙ¿©¼­ Á¦°øÇÑ Á¤º¸
 
REMOTE_HOST
 È£½ºÆ® À̸§ (sarim.changwon.ac.kr)
 
REMOTE_ADDR
 IP ÁÖ¼Ò (203.246.1.3)
 
REMOTE_USER
 »ç¿ëÀÚ (jinakim)
 
AUTH_TYPE
 ÀÎÁõÀ¯ÇüÀ» ÀǹÌÇϴµ¥ ÇÁ·ÎÅäÄݰú ¼­¹ö¿¡ µû¶ó ´Ù¸£´Ù.
 
CONTENT_TYPE
 ½ºÅ©¸³Æ® °á°ú°ªÀÇ Á¾·ù
 
CONTENT_LENGTH
 ½ºÅ©¸³Æ® °á°ú°ªÀÇ ±æÀÌ
 
DOCUMENT_ROOT
 /home/httpd/htdocs

°Ô½Ã¹°: 115 °Ç, ÇöÀç: 1 / 1 ÂÊ
¹øÈ£ Á¦       ¸ñ ÀÛ¼ºÀÚ µî·ÏÀÏ ¹æ¹®
115  perl format JMJS 24.6.22 602
114  perl -p -i -e s/abc/def/g JMJS 24.3.26 450
113  Deleting from a Hash , defined , exists JMJS 25.7.9 571
112  yaml file Àбâ JMJS 23.11.30 694
111  alzipcon JMJS 22.11.26 701
110  file2date.pl JMJS 24.6.1 788
109  UTF-8, EUC-KR JMJS 19.12.15 834
108  wget.pl LWP Simple get JMJS 19.9.17 828
107  X JMJS 19.9.17 811
106  X JMJS 19.9.17 822
105  X JMJS 19.9.17 821
104  X JMJS 19.9.17 835
103  X JMJS 19.9.17 809
102  X JMJS 19.9.17 816
101  gnome-terminal JMJS 25.7.3 821
100  jsame.pl JMJS 09.5.21 2459
99  jos.pl JMJS 08.11.29 2084
98  jmngr.pl - jmjspro manager JMJS 08.11.29 2091
97  vhdl.pm JMJS 08.11.29 1934
96  jreg.pl JMJS 08.11.29 2070
95  jtree.pm JMJS 08.11.29 1967
94  w2c.pl JMJS 08.11.29 2091
93  jdread.pl JMJS 08.11.29 1859
92  ffile.zip ffilediff.pl JMJS 09.4.24 1885
91  rgb2ycbcr.pl JMJS 10.5.12 2148
90  proview.pl JMJS 08.11.29 2180
89  smi_shift.pl JMJS 10.10.3 1895
88  srt2smi.pl srtshift.pl JMJS 18.7.14 2093
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1690
86  hash JMJS 24.6.22 1992
85  tr a-z A-Z ġȯ , ´ë¼Ò¹®ÀÚ º¯È¯ , ¹®ÀÚ¿­ Á¶°Ç , ... JMJS 24.6.22 1647
84  JARRAY->jfunc JMJS 08.10.2 1814
83  ¼öÄ¡ÇÔ¼ö - ... JMJS 09.5.7 2213
82  ¿ªÇà·Ä3x3 JMJS 09.5.7 2466
81  hex2int.pl JMJS 10.9.12 2874
80  stat - file status º¸±â JMJS 07.12.16 1910
79  Perl Tip JMJS 24.6.22 2923
78  SMI file sync delay JMJS 07.7.18 1998
77  rmword.pl JMJS 07.6.18 1930
76  pack unpack JMJS 24.6.22 2018
75  [Perl]read_dir.pl JMJS 07.2.22 2234
74  [Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â JMJS 07.2.22 2096
73  Perl ¼ýÀÚ Sorting JMJS 11.5.17 2120
72  [CGI]GET and POST JMJS 06.11.20 3681
71  Perl Grammer JMJS 06.9.4 3274
70  Ç¥ÁØ ¸ðµâ JMJS 06.8.10 2283
69  Getopt::Long example JMJS 06.8.10 2309
68  array of array JMJS 06.4.22 1919
67  [HTML]Å×ÀÌºí ¹è°æ¿¡ ±×¸²³Ö±â JMJS 06.3.8 2002
66  l2w.pm - line to word JMJS 08.12.1 2052
65  make_random_chars JMJS 05.8.10 1794
64  mail º¸³»´Â script JMJS 05.3.23 1803
63  ½ÇÇàÆÄÀÏÀ» ½ÇÇà½Ã۰í Ç¥ÁØ¿¡·¯ Àбâ JMJS 09.2.25 1826
62  ÆË¾÷â(°øÁöâ)¶ç¿ì±â Jinsung 03.12.16 2783
61  print <<ENDLINE JMJS 03.12.5 1798
60  [HTML]Target JMJS 03.5.21 1968
59  [Perl]jutil.pm JMJS 03.5.3 2019
58  [Perl]jdiff.pl JMJS 02.6.6 2092
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 2057
56  [HTML]ÀÚµ¿À¸·Î ´Ù¸¥ ÆäÀÌÁö À̵¿ JMJS 02.1.19 1978
55  STDIN file open glob -w warning JMJS 24.6.22 2031
54  opendir , readdir , closedir JMJS 24.6.22 1964
53  rand_diff JMJS 01.10.23 1910
52  vcd2v.pl JMJS 15.8.25 1772
51  file upload JMJS 24.6.22 1911
50  umask(070) <- chmod o-rwx Áø¼º 01.3.16 2071
49  head2index Áø¼º 01.3.15 1732
48  grep.pl JMJS 11.1.20 1868
47  chr(13) = \M Áø¼º 01.3.15 1764
46  stty JMJS 01.3.12 1835
45  des.pl JMJS 01.3.8 1662
44  chr_plus.pl JMJS 01.3.8 1821
43  get passwd in unix JMJS 19.8.18 1712
42  unsort JMJS 19.9.10 2170
41  read from website web JMJS 19.5.15 1653
40  vec JMJS 01.3.8 1950
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1757
38  [Perl Tk] µµ½ºÃ¢ ¾øÀÌ, ÆÞ Tk ½ºÅ©¸³Æ® ½ÇÇàÇϱâ; ... JMJS 17.9.30 1826
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1896
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1905
35  mkmm.pl - make freemind JMJS 12.5.22 1915
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1933
33  .xls output csv ÆÄÀÏ¿¡ \n "°¡ ÀÖÀ»¶§ JMJS 11.4.13 1882
32  jdcat.pl juncat.pl JMJS 11.2.24 2014
31  print chr(ord('a')); JMJS 01.3.8 1892
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1837
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1770
28  remove blank $abc =~ s/[\s]+//g; Á¤±ÔÇ¥Çö½Ä ... JMJS 25.7.16 1767
27  array and for JMJS 00.11.14 1696
26  È¨ÆäÀÌÁö ÀÚµ¿ À̵¿ JMJS 00.10.28 1795
25  html¿¡¼­ ¾²ÀÌ´Â ±âȣǥ½Ã¹æ¹ý JMJS 00.9.30 1544
24  ¹è¿­ÀÇ ¹üÀ§ ¿¬»êÀÚ JMJS 00.9.20 2002
23  for(1..3) { print "$_";} JMJS 09.4.24 1712
22  package JMJS 24.6.22 1756
21  ÁÙ¿¡¼­ ÇѱÛÀÚ °íÄ¡±â JMJS 00.8.7 1746
20  hotkey function by getc JMJS 00.7.21 1740
19  read, sysread, syswrite JMJS 00.7.21 2769
18  crypt JMJS 00.7.13 2027
17  csv2gan.pl JMJS 11.4.4 2052
16  hexa JMJS 24.6.18 1842
15  file in out.pl JMJS 00.7.5 1965
14  ARGV JMJS 00.7.5 1870
13  jtime.pm - localtime, timelocal JMJS 09.4.9 2224
12  @INC JMJS 00.7.5 2275
11  $#myarray JMJS 00.7.5 2052
10  Hash of Array JMJS 00.7.5 1818
9  package JARRAY JHASH JMJS 00.7.4 2175
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 2055
7  base64 enc dec binary JMJS 25.6.30 1868
6  file lock JMJS 00.7.4 1963
5  gettime JMJS 00.7.4 2211
4  [Perl]jcdread.pl JMJS 00.7.4 2032
3  [Perl]jdread.pl JMJS 00.7.4 1877
2  Monti Hall problem JMJS 24.6.27 1891
1  DESTROY JMJS 09.7.20 1917
[1]