Áö½ÄÀº Çϴ÷Πºñ»óÇÏ´Â ³¯°³¿Í °°´Ù

Àüü |  ¸®´ª½º (139)   À©µµ¿ì (34)   ÇØÅ·/º¸¾È (81)   PHP (12)   PERL (82)   ½© (24)   ±â Ÿ (28)   IT839 (14)   ¿À¶óŬ (8)   ¾ÆÆÄÄ¡ (49) 

 hakkoo ( 2004-06-15 09:10:56, Hit : 2711
 ¡Ú ÆÄÀÏ ÀÔÃâ·Â ¹× °ü¸®

XI. ÆÄÀÏ ÀÔÃâ·Â ¹× °ü¸®
ÀÌÁ¦´Â ±Ã±ØÀûÀÎ ¸ñÇ¥ÀÎ ÆÄÀÏ ÀÔÃâ·Â ¹× °ü¸®¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸µµ·Ï ÇÑ´Ù.
¹æ¸í·ÏÀ» ¸¸µé´øÁö, °Ô½ÃÆÇÀ» ¸¸µé´øÁö °¡Àå Áß¿äÇϰí ÁÖµÈ ±â´ÉÀº ÆÄÀÏÀ» Àаí, ¾²°í, »õ·Î ¸¸µé°í, Áö¿ì°í ÇÏ´Â ±â´ÉÀÌ´Ù. "ÆÄÀÏ" Àº HTML ¹®¼­°¡ µÉ ¼ö ÀÖ°í, ȤÀº ÀÏÁ¤ÇÑ ±¸ºÐÀÚ·Î ±¸ºÐµÈ µ¥ÀÌŸ ÆÄÀÏÀÌ µÉ ¼öµµ ÀÖ´Ù.
¾î¶² ÆÄÀÏ¿¡ Á¢±Ù(Access)Çϱâ À§Çؼ­´Â ¹Ýµå½Ã, ÆÄÀÏÀ» ¸Þ¸ð¸®¿¡ ¿Ã·Á ³õ¾Æ¾ß ÇÑ´Ù. ÀÌ ¼³¸íÀº C¾ð¾î¿¡¼­µµ ¼³¸íµÇ´Â °ÍÀÌ´Ù. ±×·¯±â À§Çؼ­ ¸ÕÀú ¾²ÀÌ´Â ÇÔ¼ö°¡ ÀÖ´Ù.
open([file-handle], "[access mode][file-name]");

open ÇÔ¼ö´Â ÆÄÀϸíÀÌ [file-name]ÀÎ ÆÄÀÏÀ» Àû´çÇÑ [access-mode]·Î ¿­¾î ¸Þ¸ð¸®¿¡ ÀûÀç(load)Çϰí, ±× ÆÄÀÏÀÇ ½ÃÀÛ ÁÖ¼Ò(address)·Î [file-handle]À̶ó´Â ÇÚµé(Handle)À» ÀÌ¿ëÇÑ´Ù´Â ¶æÀÌ´Ù. À̰ÍÀº C¾ð¾îÀÇ ÆÄÀÏ ¿­±â¿Í °°Àº °³³äÀ̳ª, ±×º¸´Ù´Â ÈξÀ ´õ °£°áÇÑ Ç¥ÇöÀÌ´Ù.
¾Æ·¡´Â "test.txt" À̶ó´Â ÆÄÀÏÀ» Àб⠸ðµå·Î ¿­¾î FHANDLEÀ̶ó´Â Çڵ鿡 ÆÄÀÏÀÇ ½ÃÀÛÁÖ¼Ò¸¦ ÁöÁ¤ÇÏ´Â ¿¹Á¦ÀÌ´Ù.

open(FHANDLE, "test.txt") || die "Can't open test.txt!";

ÆÄÀÏÀ» ¿­ ¶§ ¹®Á¦°¡ »ý±æ °æ¿ì ¿¡·¯¸¦ Àâ¾Æ ³»´Â ºÎºÐÀÌ ÀÖ¾î¾ß ÇÑ´Ù. ±×·¡¼­ ¾²ÀÌ´Â ±¸¹®ÀÌ "or die " ±¸¹®ÀÌ´Ù. ÀÌ ±¸¹®Àº ÆÄÀÏÀ» ¿­ °æ¿ì ¹®Á¦°¡ »ý±æ °æ¿ì ÇÁ·Î±×·¥À» Á¾·áÇÏ°Ô µÈ´Ù. À§ÀÇ ¿¹Á¦¿¡¼­´Â ÆÄÀÏ ¿­±â¿¡ ½ÇÆÐÇÏ¿´À» °æ¿ì "Cat't open test.txt!" ¶ó´Â ¿¡·¯ ¸Þ¼¼Áö¸¦ Ãâ·ÂÇϰí ÇÁ·Î±×·¥À» Á¾·áÇÏ°Ô µÈ´Ù. ÀÌ ±¸¹®Àº ÆÄÀÏÀ» ¿­ ¶§ ¹Ýµå½Ã µû¶ó´Ù³à¾ß ÇÑ´Ù.
ÆÄÀÏÀ» ¿­±â À§Çؼ­ ÁöÁ¤ÇØ ÁÖ¾î¾ß ÇÏ´Â ¸ðµå´Â ´ÙÀ½°ú °°´Ù.


Ç¥½Ã ¸ðµå ¼³¸í
  Àб⠸ðµå ÆÄÀÏÀ» ¼øÀüÈ÷ Àб⸸À» À§Çؼ­ ¿ÀÇÂÇÑ´Ù.
> ¾²±â ¸ðµå ÆÄÀÏÀ» Àбâ¿Í ¾²±â ¸ðµå·Î ¿¬´Ù.
¸¸¾à ÁöÁ¤ÇÑ ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾ÊÀ» °æ¿ì ÆÄÀÏÀ» »õ·Î »ý¼ºÇÑ´Ù.
>> Ãß°¡ ¸ðµå ÆÄÀÏÀ» Ãß°¡ ¸ðµå·Î ¿ÀÇÂÇÑ´Ù.
ÀÌ·² °æ¿ì¿¡´Â ÇØ´ç ÆÄÀÏÀÇ ¸Ç ³¡¿¡ »õ·Î¿î ³»¿ëÀ» Ãß°¡(Append) ÇÑ´Ù.

ÆÄÀÏÀ» ¿­¾úÀ¸¸é ÀÛ¾÷À» ÇØ¾ß ÇÑ´Ù. HTML ¹®¼­ °°Àº Text ÆÄÀÏÀ» Àбâ À§Çؼ­´Â ¹è¿­°ú ÆÄÀÏ ÇÚµéÀ» »ç¿ëÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â ÆÄÀÏÀÇ ¸ðµç ¶óÀÎÀ» ¹è¿­¿¡ ÇÒ´çÇÏ´Â ÀÏÀ» ÇÑ´Ù.

@lines = <FHANDLE>;

±×¸®°í, ¿­¸° ÆÄÀÏÀÇ ÃÑ ÁÙ¼ö °è»êµµ ¸Å¿ì ½±°Ô ÇÒ ¼ö ÀÖ´Ù. ½ºÄ®¶ó º¯¼ö¿¡ ¹è¿­¸¸ ÁöÁ¤ÇØÁÖ¸é µÈ´Ù.
$filesize = @lines;

¸Å¿ì °£´ÜÇÏ´Ù. ÀÌÁ¦ ÆÄÀÏÀ» ¿­°í, ±× ³»¿ëÀ» ¹è¿­¿¡ ÀúÀåÇϸç, ÆÄÀÏÀÇ Á¤º¸µµ °¡Á®¿Ã ¼ö ÀÖ°Ô µÇ¾ú´Ù. ÀÌÁ¦´Â ¿­¾ú´ø ÆÄÀÏÀ» ´Ý¾Æº¸ÀÚ. ÆÄÀÏÀ» ¿­¾úÀ¸¸é ¹Ýµå½Ã ´Ý¾Æ(close) ¸Þ¸ð¸®¿¡¼­ ÆÄÀÏ ÇÚµéÀ» Á¦°ÅÇØ¾ß ÇÑ´Ù. ÆÄÀÏÀº ´ÙÀ½°ú °°ÀÌ ´Ý´Â´Ù.
close(FHANDLE);

ÆÄÀÏÀ» ¿­¾î ÆÄÀÏÀÇ ¸ðµç ³»¿ëÀ» Ãâ·ÂÇϱâ À§Çؼ­´Â ´ÙÀ½°ú °°ÀÌ ÇÏ¸é µÈ´Ù. ÀÌÁ¦ ¾Õ¿¡¼­ ¹è¿î while loop¸¦ ÀÌ¿ëÇÑ´Ù.
open (FHANDLE, "test.txt") || die "Can't open test.txt!";
while (<FHANDLE>) {
     print "$_";
}
close(FHANDLE);

´Ù½Ã "test.txt"¸¦ ¿­¾î º¸ÀÚ. À̹ø¿¡´Â ¾²±â ¸ðµå·Î ¿¬´Ù.
open(FHANDLE, ">test.txt") || die "Can't open test.txt!";

ÀÌ ÀÛ¾÷À» ÇÏ°Ô µÇ¸é, ÀÌÀüÀÇ ÆÄÀÏ ³»¿ëÀÌ ¾î·´ø °£¿¡, "test.txt"¶ó´Â À̸§ÀÇ »õ·Î¿î ÆÄÀÏÀ» ¾²µµ·Ï ÁغñÇÏ°Ô µÈ´Ù. ±×·¯¸é, ±âÁ¸ÀÇ ÆÄÀÏ ³»¿ëÀº ¾îµð·Î °¥±î? ¹°·Ð »ç¶óÁ® ¹ö¸°´Ù.(»ó´çÇÏ°Ô Á¶½ÉÇϽÿÀ!)
±×·¯¸é, ÀÌÁ¦ ÆÄÀÏ¿¡ ¾î¶² ³»¿ëÀ» ½á º¸ÀÚ. ¾²±â À§Çؼ­´Â ÆÄÀÏ ÇÚµéÀ» »ç¿ëÇÏ°Ô µÈ´Ù. ¾²±â ¸ðµå·Î ¿­¸° ÆÄÀÏÀÇ ÇÚµé À̸§ÀÌ "FHANDLE" À̹ǷΠprint ÇÔ¼ö¸¦ ´ÙÀ½°ú °°ÀÌ ½á ÁÖ¸é ÆÄÀÏ¿¡ »õ ³»¿ëÀ» ¾µ ¼ö ÀÖ´Ù.
print FHANDLE "This is new content.n";

ÆÄÀÏ¿¡ »õ ³»¿ëÀ» ¾²°í ´õ ÀÌ»ó ÇÒ ÀÏÀÌ ¾øÀ¸¸é ²À ´Ý¾Æ¾ß ÇÑ´Ù.
close(FHANDLE);

±×¸®°í³ª¼­ ÆÄÀÏÀ» ¿­¾îº¸¸é ´ÙÀ½°ú °°ÀÌ ÇÑ ÁÙ¸¸ ÀÖ¾î¾ß ÇÑ´Ù.
This is new content.

À̹ø¿¡´Â "test.txt"¸¦ Ãß°¡ ¸ðµå·Î ¿­¾î º¸ÀÚ.

open(FHANDLE, ">>test.txt") || die "Can't open test.txt!";

±×¸®°í ÇÑ ÁÙÀ» Ãß°¡ÇÑ ÈÄ ÆÄÀÏÀ» ´Ý¾Æº¸ÀÚ.
print FHANDLE "This is new content that appended.n";

close(FHANDLE);

"test.txt"¸¦ Àо¸é ³»¿ëÀÌ ´ÙÀ½°ú °°¾Æ¾ß ÇÑ´Ù.
This is new content.
This is new content that appended.

ÀÌÁ¦ ÆÄÀÏ °ü¸®¿¡ ´ëÇØ¼­ ¾Ë¾Æº»´Ù. PERL¿¡¼­´Â ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ÆÄÀÏÀÇ À̸§ º¯°æ, ÆÄÀÏ »èÁ¦, ÆÄÀÏÀÇ Á¢±Ù ±ÇÇÑ ¼³Á¤ µîÀÇ ÀÛ¾÷À» ÇÒ ¼ö ÀÖ´Ù. ¸ÕÀú, "test.txt" ÀÇ À̸§À» "babo.txt" ·Î ¹Ù²Ù¾î º¸ÀÚ. À̶§ »ç¿ëµÇ´Â ÇÔ¼ö°¡ renameÀÌ´Ù.

rename("test.txt", "babo.txt");

rename ÇÔ¼ö´Â ÆÄÀÏÀÇ À̸§À» ¹Ù²ÙÁö¸¸ º¹»çº»À¸·Î »ý¼ºÇÏÁö´Â ¾Ê´Â´Ù.
ÀÌÁ¦´Â "babo.txt"¸¦ »èÁ¦ÇØ º¸ÀÚ. »èÁ¦´Â unlink ÇÔ¼ö·Î ÇØ°áÇÒ ¼ö ÀÖ´Ù.

unlink("babo.txt");

"babo.txt" ÆÄÀÏÀº »èÁ¦µÇ¾ú´Ù.
chmod ÇÔ¼ö´Â ÆÄÀÏÀÇ Á¢±Ù ±ÇÇÑÀ» ¼³Á¤ÇØ ÁØ´Ù. "test.txt"ÀÇ Á¢±Ù ±ÇÇÑÀ» 666(¼ÒÀ¯±ÇÀÚ, »ç¿ëÀÚ, »ç¿ëÀÚ ±×·ì ¸ðµÎ¿¡°Ô Àбâ/¾²±â ±ÇÇÑÀ» ºÎ¿©) À¸·Î ¹Ù²Ù¾î º¸ÀÚ.

chmod(0666, "test.txt");

ÆÄÀÏ ÀÔÃâ·Â¿¡ °üÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀº ¹æ¸í·Ï ½ºÅ©¸³Æ® ¼³¸í½Ã ´Ù½ÃÇѹø »ó¼¼ÇÏ°Ô ¼³¸íÇϰڴÙ.
--------------------------------------------------------------------------------




    








82   [PERL] Deprecated: Function eregi() is deprecated ¿¡·¯ ¼öÁ¤ ½ºÅ©¸³Æ®  hakkoo 2010/08/04 290
81   [PERL] Perl script to monitor disk space and send an email [2]  hakkoo 2008/01/16 2232
80   [PERL] Perl DBI ¸ðµâ ¿¹Á¦ [1]  hakkoo 2006/03/15 3104
79   [PERL] qmail-remote ÀÎÅͼÁÆ® (¹ß¼Û·Î±× ¸¸µé±â)  hakkoo 2005/10/03 2882
78   [PERL] ¿ø°Ý ¸ð´ÏÅ͸µ [12]  hakkoo 2005/08/25 2998
77   [PERL] ¸ÞÀÏ ¸±·¹ÀÌ Á¡°Ë  hakkoo 2005/08/04 2730
76   [PERL] Using Regular Expression  hakkoo 2005/02/05 2643
75  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] B/D¿¡ arp ÆÐŶÀ» º¸³» mac Á¤º¸ °»½Å  hakkoo 2004/11/24 22
74   [PERL] SYN_Flooding °ø°ÝÀ» °¨Áö  hakkoo 2004/10/22 2649
73  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] ip_alive.pl  hakkoo 2004/10/13 20
72  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] technote_patch.pl  hakkoo 2004/10/09 18
71  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] technote_id_search.pl  hakkoo 2004/10/07 8
70  ºñ¹Ð±ÛÀÔ´Ï´Ù [PERL] vuserinfo.pl  hakkoo 2004/08/24 24
69   [PERL] ¡Ù CPAN module·Î ÀνºÅç ¹Ù·ÎÇÏ±â  hakkoo 2004/07/29 2654
68   [PERL] Net::Telnet ¸ðµâ  hakkoo 2004/07/09 2557
67   [PERL] ¿©·¯°³ÀÇ ¹è¿­À̳ª ÇØ½¬ ¹ÝȯÇϱâ(¼­ºê·çƾ) [18]  hakkoo 2004/06/15 3361
66   [PERL] CGI ȯ°æ º¯¼ö  hakkoo 2004/06/15 2716
65   [PERL] ¼­ºê·çƾ ÀÛ¼º ¹× È£Ãâ¹ý  hakkoo 2004/06/15 2514
  [PERL] ¡Ú ÆÄÀÏ ÀÔÃâ·Â ¹× °ü¸®  hakkoo 2004/06/15 2711
63   [PERL] HTML ¹®Àå Ãâ·ÂÇÏ±â  hakkoo 2004/06/14 2459

1 [2][3][4][5]
 

Copyright 1999-2010 / skin by sattonari