Perl ¤ÎÎãÂê

£¶. ¥Õ¥¡¥¤¥ë¤Î¹¹¿·2

¡¡¡¡¥Õ¥¡¥¤¥ë¹¹¿·1¤Ç¤ÏƱ°ì¥µ¥¤¥º¤Ç¤Ê¤¤¤ÈÍ­¸ú¤Ç¤¢¤ê¤Þ¤»¤ó¤Ç¤·¤¿¡£´Á»ú¤Îʸ»ú¥³¡¼¥É¤â¼Â¹Ô´Ä¶­
¡¡¤Ë¤è¤Ã¤ÆÀ©Ìó¤ò¼õ¤±¤Þ¤·¤¿¤¬¡¢¤³¤³¤Ç¤Ï¡¢°ìö¥Õ¥¡¥¤¥ë¤òÇÛÎó¤Ë³ÊǼ¤·¤ÆºîÀ®¤·Ä¾¤·¤Þ¤¹¤Î¤Ç¡¢
¡¡ÌäÂ꤬¤¢¤ê¤Þ¤»¤ó¡£¤à¤·¤í¡¢¥µ¥¤¥º¤òµ¤¤Ë¤»¤º¤Ë¼«Í³¤Ë²Ã¹©¤Ç¤­¤Þ¤¹¡£




¡¡1.»ÅÍÍ


¢£µ¡Ç½ ¡¦»ØÄêdirÇÛ²¼¤ÎÁ´¤Æ¤Î¥Õ¥¡¥£¥ë¤òÆÉ¤ß¡¢html¥Õ¥¡¥¤¥ë¤Î¤È¤­¤À¤±¼¡¤Î¹Ô¤òÊѹ¹¤¹¤ë¡£ ¡¦<title>xxxxxxx</title>¤Î¹Ô¤Î¤È¤­(ÅÓÃæ²þ¹Ô̵¤·) ¡¡"¤µ¤ó¤¹¤±¤Îperl»²¹Í½ñ"¤ò¥¿¥¤¥È¥ë¤Ë¤¹¤ë¡£ ¡¦Êݸ¥Õ¥¡¥¤¥ë¤ËÊѹ¹Á°¤Î¥Ð¥Ã¥¯¥¢¥Ã¥×¤ò¤È¤ë¡£
¢£Æ°ºî´Ä¶­ [Windows ÈÇ] -- Windows 95/NT/98/Me/2000 Âбþ Active Perl 5.6.1.630 FreeWare (http://www2j.biglobe.ne.jp/~apollo/server/server.html)
¢£¼Â¹Ô´Ä¶­ ¡¦¼Â¹Ô¥â¥¸¥å¡¼¥ë: updfile.pl ¡¦£Ä£É£Ò¥Õ¥¡¥¤¥ë tran/updin.out ¡¦ÆþÎÏŽ¥½ÐÎÏ¥Õ¥¡¥¤¥ë /xxx/yyyy.html ¡¦Êݸ¥Õ¥¡¥¤¥ë /xxx/yyyy.sve
¢£Æþ½ÐÎÏ¥Õ¥¡¥¤¥ë¤Î»ÅÍÍ ¡¦£Ä£É£Ò¥Õ¥¡¥¤¥ë ¡¡Îã c:\sgi\public_html\perl\frame # dir c:\sgi\public_html\perl\index.html # html file c:\sgi\public_html\perl\frame\perl1.html c:\sgi\public_html\perl\frame\back.gif # gif file : ¡¦ÆþÎÏŽ¥½ÐÎÏ¥Õ¥¡¥¤¥ë(html ¥Õ¥¡¥£¥ë)¡¢Êݸ¥Õ¥¡¥¤¥ë(html ¥Õ¥¡¥£¥ë) ¡¡¡¡EUC ¥³¡¼¥É ¡¡¡¡ÆþÎϤ·¤¿html ¥Õ¥¡¥£¥ë¤Ï¡¢¹¹¿·¤·¤¿ÆâÍÆ¤ÇºÆºîÀ®¤µ¤ì¤Þ¤¹¡£


¡¡2.¥×¥í¥°¥é¥ß¥ó¥°

»ÅÍͤˤâ¤È¤Å¤­¡¢Perl ¤Ç¥³¡¼¥Ç¥£¥ó¥°¤¹¤ë¤È¡¢¼¡¤Î¤È¤ª¤ê¤Ç¤¹¡£

¥³¡¼¥Ç¥£¥ó¥°¡¡Îã
#!/usr/local/bin/perl ####################################################################### # updfile.pl : Active Perl # Copyright(C)2002 Sannomiya , All Rights Reserved. ####################################################################### # # ÍúÎò # 2002.04.01 ¿·µ¬ºîÀ® Ver 1.00 # ####################################################################### # ÀßÄê ####################################################################### $dir = "c:/sgi/public_html/perl"; # ¤³¤ÎÇÛ²¼¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë $list = "c:/sgi/public_html/perl/list.out"; # dir/s/b ¤Î·ë²Ì¥Õ¥¡¥¤¥ë ####################################################################### # 1.³«»Ï½èÍý # chdir($dir)|| die "Can't find $dir: $!\n"; # dir CHANGE open(OUTA,"|dir/s/b > $list"); # file name list # output Îã # c:\sgi\public_html\perl\frame # dir # c:\sgi\public_html\perl\index.html # html fil # c:\sgi\public_html\perl\frame\perl1.html # c:\sgi\public_html\perl\frame\back.gif # gif file close(OUTA); open(IN," < $list"); # file name list ####################################################################### # 2.¥á¥¤¥ó¡¡½èÍý # while( <IN> ) { ####################################################################### chop($_); # ºÇ¸å¤Îʸ»úºï½ü(²þ¹Ô) if (! /\.html/) {next;} # html °Ê³° ¤Ï skip(dir ¤â) $pgm = $_; $pgm2 = $_; $pgm2 =~ s/\.html/\.out/; # Êݸ¥Õ¥¡¥¤¥ë̾·èÄê ###################################### @tbl = (); # ÇÛÎó½é´ü²½ open(SVE,"> $pgm2"); # Êݸ¥Õ¥¡¥¤¥ë¤ò¥ª¡¼¥×¥ó open(IN2,"< $pgm")|| die "input err $pgm:$!\n"; while($dat = <IN2> ) { # IN2¤«¤é¤Î¥Ç¡¼¥¿$dat¤¬¤¢¤ë´Ö print SVE $dat; # Ê£¼Ì chop($dat); push (@tbl,$dat); # ÇÛÎó¤Ë³ÊǼ } close(IN2); close (SVE); ###################################### open(OUT,"> $pgm"); # ¥Õ¥¡¥¤¥ë¤ò°ìö¶õ¤Ë ###################################### foreach $src (@tbl) { # ÇÛÎ󤫤é¹Ô¤ò$src¤ËÂåÆþ¤·¡¢ºÇ¸å¤Þ¤Ç·«ÊÖ¤¹ # <title>xxxxxxx</title> ¢Í <title>¤µ¤ó¤¹¤±¤Îperl»²¹Í½ñ</title> if ($src =~ /<title>/) { ($left,$moji,$right) = split(/title/,$src,3); $src =~ s/$moji/>¤µ¤ó¤¹¤±¤Îperl»²¹Í½ñ<\//; print "update OK -> $pgm\n"; } } ###################################### close(OUT); ####################################################################### } # while end ##########End_Of_Script




¡¡3.Ãí°Õ»ö¹à

¡¦Windows ¤Ç¤Ï¡¢¥Õ¥©¥ë¥À¡¼(dir)¤Î¶èÀÚ¤ê¤Ï \ ¤Ç¤¹¤¬ unix ¤Ç¤Ï / ¤Ç¤¹¡£

¡¦³«»Ï½èÍý¤Î dir ¤Î¥ª¥×¥·¥ç¥ó¤Ï¼¡¤Î°ÕÌ£¤Ç¤¹¡£
¡¡/b¡¡¡¡¥Õ¥¡¥¤¥ë̾¤Î¤ß¤òɽ¼¨¤·¤Þ¤¹ (¸«½Ð¤·¤äÍ×Ìó¤¬ÉÕ¤­¤Þ¤»¤ó)¡£
¡¡/s¡¡¡¡»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¤ª¤è¤Ó¤½¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤Î¤¹¤Ù¤Æ¤Î¥Õ¥¡¥¤¥ë¤òɽ¼¨¤·¤Þ¤¹¡£