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 366
114  perl -p -i -e s/abc/def/g JMJS 24.3.26 362
113  Deleting from a Hash , defined , exists JMJS 25.7.9 402
112  yaml file Àбâ JMJS 23.11.30 432
111  alzipcon JMJS 22.11.26 493
110  file2date.pl JMJS 24.6.1 605
109  UTF-8, EUC-KR JMJS 19.12.15 591
108  wget.pl LWP Simple get JMJS 19.9.17 612
107  X JMJS 19.9.17 586
106  X JMJS 19.9.17 589
105  X JMJS 19.9.17 595
104  X JMJS 19.9.17 595
103  X JMJS 19.9.17 592
102  X JMJS 19.9.17 576
101  gnome-terminal JMJS 25.7.3 593
100  jsame.pl JMJS 09.5.21 2125
99  jos.pl JMJS 08.11.29 1830
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1875
97  vhdl.pm JMJS 08.11.29 1828
96  jreg.pl JMJS 08.11.29 1842
95  jtree.pm JMJS 08.11.29 1876
94  w2c.pl JMJS 08.11.29 1872
93  jdread.pl JMJS 08.11.29 1628
92  ffile.zip ffilediff.pl JMJS 09.4.24 1695
91  rgb2ycbcr.pl JMJS 10.5.12 1996
90  proview.pl JMJS 08.11.29 2063
89  smi_shift.pl JMJS 10.10.3 1680
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1883
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1555
86  hash JMJS 24.6.22 1797
85  tr a-z A-Z ġȯ , ´ë¼Ò¹®ÀÚ º¯È¯ , ¹®ÀÚ¿­ Á¶°Ç , ... JMJS 24.6.22 1575
84  JARRAY->jfunc JMJS 08.10.2 1591
83  ¼öÄ¡ÇÔ¼ö - ... JMJS 09.5.7 2075
82  ¿ªÇà·Ä3x3 JMJS 09.5.7 2145
81  hex2int.pl JMJS 10.9.12 2805
80  stat - file status º¸±â JMJS 07.12.16 1697
79  Perl Tip JMJS 24.6.22 2829
78  SMI file sync delay JMJS 07.7.18 1768
77  rmword.pl JMJS 07.6.18 1715
76  pack unpack JMJS 24.6.22 1693
75  [Perl]read_dir.pl JMJS 07.2.22 1943
74  [Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â JMJS 07.2.22 1893
73  Perl ¼ýÀÚ Sorting JMJS 11.5.17 1948
72  [CGI]GET and POST JMJS 06.11.20 3579
71  Perl Grammer JMJS 06.9.4 3173
70  Ç¥ÁØ ¸ðµâ JMJS 06.8.10 2092
69  Getopt::Long example JMJS 06.8.10 2238
68  array of array JMJS 06.4.22 1697
67  [HTML]Å×ÀÌºí ¹è°æ¿¡ ±×¸²³Ö±â JMJS 06.3.8 1774
66  l2w.pm - line to word JMJS 08.12.1 1791
65  make_random_chars JMJS 05.8.10 1608
64  mail º¸³»´Â script JMJS 05.3.23 1589
63  ½ÇÇàÆÄÀÏÀ» ½ÇÇà½Ã۰í Ç¥ÁØ¿¡·¯ Àбâ JMJS 09.2.25 1619
62  ÆË¾÷â(°øÁöâ)¶ç¿ì±â Jinsung 03.12.16 2653
61  print <<ENDLINE JMJS 03.12.5 1690
60  [HTML]Target JMJS 03.5.21 1722
59  [Perl]jutil.pm JMJS 03.5.3 1933
58  [Perl]jdiff.pl JMJS 02.6.6 1888
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1886
56  [HTML]ÀÚµ¿À¸·Î ´Ù¸¥ ÆäÀÌÁö À̵¿ JMJS 02.1.19 1730
55  STDIN file open glob -w warning JMJS 24.6.22 1784
54  opendir , readdir , closedir JMJS 24.6.22 1777
53  rand_diff JMJS 01.10.23 1671
52  vcd2v.pl JMJS 15.8.25 1703
51  file upload JMJS 24.6.22 1675
50  umask(070) <- chmod o-rwx Áø¼º 01.3.16 1845
49  head2index Áø¼º 01.3.15 1562
48  grep.pl JMJS 11.1.20 1667
47  chr(13) = \M Áø¼º 01.3.15 1523
46  stty JMJS 01.3.12 1650
45  des.pl JMJS 01.3.8 1598
44  chr_plus.pl JMJS 01.3.8 1612
43  get passwd in unix JMJS 19.8.18 1472
42  unsort JMJS 19.9.10 1755
41  read from website web JMJS 19.5.15 1500
40  vec JMJS 01.3.8 1779
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1650
38  [Perl Tk] µµ½ºÃ¢ ¾øÀÌ, ÆÞ Tk ½ºÅ©¸³Æ® ½ÇÇàÇϱâ; ... JMJS 17.9.30 1639
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1713
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1780
35  mkmm.pl - make freemind JMJS 12.5.22 1736
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1736
33  .xls output csv ÆÄÀÏ¿¡ \n "°¡ ÀÖÀ»¶§ JMJS 11.4.13 1647
32  jdcat.pl juncat.pl JMJS 11.2.24 1783
31  print chr(ord('a')); JMJS 01.3.8 1692
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1616
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1701
28  remove blank $abc =~ s/[\s]+//g; Á¤±ÔÇ¥Çö½Ä ... JMJS 25.7.16 1622
27  array and for JMJS 00.11.14 1496
26  È¨ÆäÀÌÁö ÀÚµ¿ À̵¿ JMJS 00.10.28 1578
25  html¿¡¼­ ¾²ÀÌ´Â ±âȣǥ½Ã¹æ¹ý JMJS 00.9.30 1479
24  ¹è¿­ÀÇ ¹üÀ§ ¿¬»êÀÚ JMJS 00.9.20 1816
23  for(1..3) { print "$_";} JMJS 09.4.24 1510
22  package JMJS 24.6.22 1545
21  ÁÙ¿¡¼­ ÇѱÛÀÚ °íÄ¡±â JMJS 00.8.7 1621
20  hotkey function by getc JMJS 00.7.21 1667
19  read, sysread, syswrite JMJS 00.7.21 2568
18  crypt JMJS 00.7.13 1847
17  csv2gan.pl JMJS 11.4.4 1850
16  hexa JMJS 24.6.18 1659
15  file in out.pl JMJS 00.7.5 1838
14  ARGV JMJS 00.7.5 1675
13  jtime.pm - localtime, timelocal JMJS 09.4.9 2156
12  @INC JMJS 00.7.5 2036
11  $#myarray JMJS 00.7.5 1795
10  Hash of Array JMJS 00.7.5 1601
9  package JARRAY JHASH JMJS 00.7.4 1899
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1850
7  base64 enc dec binary JMJS 25.6.30 1634
6  file lock JMJS 00.7.4 1733
5  gettime JMJS 00.7.4 1796
4  [Perl]jcdread.pl JMJS 00.7.4 1815
3  [Perl]jdread.pl JMJS 00.7.4 1687
2  Monti Hall problem JMJS 24.6.27 1687
1  DESTROY JMJS 09.7.20 1656
[1]