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 316
114  perl -p -i -e s/abc/def/g JMJS 24.3.26 332
113  Deleting from a Hash , defined , exists JMJS 25.7.9 345
112  yaml file Àбâ JMJS 23.11.30 383
111  alzipcon JMJS 22.11.26 425
110  file2date.pl JMJS 24.6.1 564
109  UTF-8, EUC-KR JMJS 19.12.15 521
108  wget.pl LWP Simple get JMJS 19.9.17 564
107  X JMJS 19.9.17 529
106  X JMJS 19.9.17 533
105  X JMJS 19.9.17 529
104  X JMJS 19.9.17 526
103  X JMJS 19.9.17 520
102  X JMJS 19.9.17 515
101  gnome-terminal JMJS 25.7.3 534
100  jsame.pl JMJS 09.5.21 2058
99  jos.pl JMJS 08.11.29 1781
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1822
97  vhdl.pm JMJS 08.11.29 1792
96  jreg.pl JMJS 08.11.29 1783
95  jtree.pm JMJS 08.11.29 1845
94  w2c.pl JMJS 08.11.29 1817
93  jdread.pl JMJS 08.11.29 1589
92  ffile.zip ffilediff.pl JMJS 09.4.24 1645
91  rgb2ycbcr.pl JMJS 10.5.12 1954
90  proview.pl JMJS 08.11.29 2034
89  smi_shift.pl JMJS 10.10.3 1628
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1826
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 1509
86  hash JMJS 24.6.22 1758
85  tr a-z A-Z ġȯ , ´ë¼Ò¹®ÀÚ º¯È¯ , ¹®ÀÚ¿­ Á¶°Ç , ... JMJS 24.6.22 1553
84  JARRAY->jfunc JMJS 08.10.2 1535
83  ¼öÄ¡ÇÔ¼ö - ... JMJS 09.5.7 2036
82  ¿ªÇà·Ä3x3 JMJS 09.5.7 2063
81  hex2int.pl JMJS 10.9.12 2785
80  stat - file status º¸±â JMJS 07.12.16 1643
79  Perl Tip JMJS 24.6.22 2799
78  SMI file sync delay JMJS 07.7.18 1724
77  rmword.pl JMJS 07.6.18 1665
76  pack unpack JMJS 24.6.22 1597
75  [Perl]read_dir.pl JMJS 07.2.22 1875
74  [Perl]jtab2char - tab¹®ÀÚ¸¦ ƯÁ¤ char·Î ¹Ù²ãÁÖ±â JMJS 07.2.22 1843
73  Perl ¼ýÀÚ Sorting JMJS 11.5.17 1901
72  [CGI]GET and POST JMJS 06.11.20 3550
71  Perl Grammer JMJS 06.9.4 3142
70  Ç¥ÁØ ¸ðµâ JMJS 06.8.10 2042
69  Getopt::Long example JMJS 06.8.10 2215
68  array of array JMJS 06.4.22 1649
67  [HTML]Å×ÀÌºí ¹è°æ¿¡ ±×¸²³Ö±â JMJS 06.3.8 1726
66  l2w.pm - line to word JMJS 08.12.1 1739
65  make_random_chars JMJS 05.8.10 1557
64  mail º¸³»´Â script JMJS 05.3.23 1535
63  ½ÇÇàÆÄÀÏÀ» ½ÇÇà½Ã۰í Ç¥ÁØ¿¡·¯ Àбâ JMJS 09.2.25 1567
62  ÆË¾÷â(°øÁöâ)¶ç¿ì±â Jinsung 03.12.16 2618
61  print <<ENDLINE JMJS 03.12.5 1638
60  [HTML]Target JMJS 03.5.21 1659
59  [Perl]jutil.pm JMJS 03.5.3 1901
58  [Perl]jdiff.pl JMJS 02.6.6 1835
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1845
56  [HTML]ÀÚµ¿À¸·Î ´Ù¸¥ ÆäÀÌÁö À̵¿ JMJS 02.1.19 1678
55  STDIN file open glob -w warning JMJS 24.6.22 1727
54  opendir , readdir , closedir JMJS 24.6.22 1721
53  rand_diff JMJS 01.10.23 1613
52  vcd2v.pl JMJS 15.8.25 1678
51  file upload JMJS 24.6.22 1628
50  umask(070) <- chmod o-rwx Áø¼º 01.3.16 1790
49  head2index Áø¼º 01.3.15 1516
48  grep.pl JMJS 11.1.20 1613
47  chr(13) = \M Áø¼º 01.3.15 1474
46  stty JMJS 01.3.12 1594
45  des.pl JMJS 01.3.8 1576
44  chr_plus.pl JMJS 01.3.8 1566
43  get passwd in unix JMJS 19.8.18 1424
42  unsort JMJS 19.9.10 1662
41  read from website web JMJS 19.5.15 1451
40  vec JMJS 01.3.8 1715
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1628
38  [Perl Tk] µµ½ºÃ¢ ¾øÀÌ, ÆÞ Tk ½ºÅ©¸³Æ® ½ÇÇàÇϱâ; ... JMJS 17.9.30 1588
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1659
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1746
35  mkmm.pl - make freemind JMJS 12.5.22 1700
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1680
33  .xls output csv ÆÄÀÏ¿¡ \n "°¡ ÀÖÀ»¶§ JMJS 11.4.13 1599
32  jdcat.pl juncat.pl JMJS 11.2.24 1734
31  print chr(ord('a')); JMJS 01.3.8 1636
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1572
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1679
28  remove blank $abc =~ s/[\s]+//g; Á¤±ÔÇ¥Çö½Ä ... JMJS 25.7.16 1589
27  array and for JMJS 00.11.14 1439
26  È¨ÆäÀÌÁö ÀÚµ¿ À̵¿ JMJS 00.10.28 1530
25  html¿¡¼­ ¾²ÀÌ´Â ±âȣǥ½Ã¹æ¹ý JMJS 00.9.30 1462
24  ¹è¿­ÀÇ ¹üÀ§ ¿¬»êÀÚ JMJS 00.9.20 1766
23  for(1..3) { print "$_";} JMJS 09.4.24 1458
22  package JMJS 24.6.22 1511
21  ÁÙ¿¡¼­ ÇѱÛÀÚ °íÄ¡±â JMJS 00.8.7 1570
20  hotkey function by getc JMJS 00.7.21 1644
19  read, sysread, syswrite JMJS 00.7.21 2528
18  crypt JMJS 00.7.13 1793
17  csv2gan.pl JMJS 11.4.4 1785
16  hexa JMJS 24.6.18 1607
15  file in out.pl JMJS 00.7.5 1795
14  ARGV JMJS 00.7.5 1621
13  jtime.pm - localtime, timelocal JMJS 09.4.9 2126
12  @INC JMJS 00.7.5 1979
11  $#myarray JMJS 00.7.5 1738
10  Hash of Array JMJS 00.7.5 1553
9  package JARRAY JHASH JMJS 00.7.4 1820
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1803
7  base64 enc dec binary JMJS 25.6.30 1588
6  file lock JMJS 00.7.4 1679
5  gettime JMJS 00.7.4 1703
4  [Perl]jcdread.pl JMJS 00.7.4 1761
3  [Perl]jdread.pl JMJS 00.7.4 1650
2  Monti Hall problem JMJS 24.6.27 1630
1  DESTROY JMJS 09.7.20 1595
[1]