Perl¤ÎÀâÌÀ¡¡¡¡¡¡¡¡¡¡ 1.for ʸ¡¡¡¡ 2.while ʸ¡¡¡¡ 3.foreach ʸ¡¡¡¡ 4.last,next,redo ±é»»»Ò

¡¡¡¡£¶. ·«¤êÊÖ¤·¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£



¡¡1.for ʸ

¡¦for ʸ¤Ë¤è¤ë¥ë¡¼¥×


for ʸ¡¡µ­½ÒÎã
for ($i=0;$i<10;$i++) { $data = $data . 'A'; } print $data . "\n"; # £±£°²ó¡¢·«¤êÊÖ¤¹¡£¡¡$i ¤ÇÀ©¸æ # AAAAAAAAAA ¤¬É½¼¨


for (½é´ü½èÍý; ¥ë¡¼¥×¾ò·ï; Áýʬ) { ¾ò·ï¤¬¿¿¤Î¾ì¹ç¤ÎÌ¿Îá(¾ò·ï¤¬µ¶¤Ë¤Ê¤ë¤Þ¤Ç¥ë¡¼¥×¤¹¤ë) }

½é´ü½èÍý¡¡:¡¡ºÇ½é¤Ë£±²ó¤À¤±¹Ô¤¦½èÍý¡£
¥ë¡¼¥×¾ò·ï¡¡:¡¡¡Ö¾ò·ï¤¬¿¿¤Î¾ì¹ç¤ÎÌ¿Îá¡×¤ÎÁ°¤Ë¹Ô¤¦¾ò·ï¡£
Áýʬ¡¡:¡¡¡Ö¾ò·ï¤¬¿¿¤Î¾ì¹ç¤ÎÌ¿Îá¡×¤Î¸å¤Ë¹Ô¤¦½èÍý¡£

¢¨¤½¤ì¤¾¤ì¤Î½èÍý(¾ò·ï)¤¬¡¢Ê£¿ô¤¢¤ë¤È¤­¤Ï¡¢¥«¥ó¥Þ¡Ö,¡×¤Ç¶èÀÚ¤ê¤Þ¤¹¡£
¢¨Ìµ¾ò·ï¤Î»þ¤Ï¾Êά²Ä¤Ç¤¹¡£ for(;;){ ...
ÇÛÎó¤Î¥ë¡¼¥×½èÍý¡¡Îã
@a = ("mon","tue","wed","thu", "fry","sat","sun"); for($i=0; $i<=$#a; $i++) { print $a[$i]," "; } print "\n"; # ÇÛÎó¤Î½é´ü²½ # $#a:ÇÛÎó¤ÎºÇ¸å¤ÎÍ×ÁǤÎź»ú(6) # mon tue wed thu fry sat sun ¤òɽ¼¨ # $i < @a ; @a ¤ÏÍ×ÁÇ¿ô 7 ¤Ç¤â²Ä





¡¡2.while ʸ

while ʸ¡¡µ­½ÒÎã
$i=0; while ($i<10) { $data = $data . 'A'; $i++; } print $data . "\n"; # for ʸ¤Î½é´ü½èÍý¤ÈƱ¤¸ # £±£°²ó¡¢·«¤êÊÖ¤¹¡£¡¡$i ¤ÇÀ©¸æ # for ʸ¤ÎÁýʬ½èÍý¤ÈƱ¤¸ # AAAAAAAAAA ¤¬É½¼¨

while (¥ë¡¼¥×¾ò·ï) { ¾ò·ï¤¬¿¿¤Î¾ì¹ç¤ÎÌ¿Îá(¾ò·ï¤¬µ¶¤Ë¤Ê¤ë¤Þ¤Ç¥ë¡¼¥×¤¹¤ë) } Ëô¤Ï while (¥ë¡¼¥×¾ò·ï) { ¾ò·ï¤¬¿¿¤Î¾ì¹ç¤ÎÌ¿Îá(¾ò·ï¤¬µ¶¤Ë¤Ê¤ë¤Þ¤Ç¥ë¡¼¥×¤¹¤ë) } continue{ £±¥ë¡¼¥×¸å¤Î½èÍý; }

¥ë¡¼¥×¾ò·ï¡¡:¡¡¡Ö¾ò·ï¤¬¿¿¤Î¾ì¹ç¤ÎÌ¿Îá¡×¤ÎÁ°¤Ë¹Ô¤¦¾ò·ï¡£
£±¥ë¡¼¥×¸å¤Î½èÍý¡¡:¡¡¡Ö¾ò·ï¤¬¿¿¤Î¾ì¹ç¤ÎÌ¿Îá¡×¤Î¸å¤Ë¹Ô¤¦½èÍý¡£

¢¨¤½¤ì¤¾¤ì¤Î½èÍý(¾ò·ï)¤¬¡¢Ê£¿ô¤¢¤ë¤È¤­¤Ï¡¢¥«¥ó¥Þ¡Ö,¡×¤Ç¶èÀÚ¤ê¤Þ¤¹¡£



¡¡3.foreach ʸ

foreach ʸ¡¡µ­½ÒÎã
@tbl=('A=1','B=2','C=3','D=4'); foreach $cell (@tbl) { print $cell . "\n"; } # ¥Æ¡¼¥Ö¥ëÆâ¤ÎÍ×ÁǤò½ÐÎϤ¹¤ë

foreach ÊÑ¿ô (ÇÛÎóÊÑ¿ô) { Ì¿Îá(ÇÛÎóÊÑ¿ô¤¬¤Ê¤¯¤Ê¤ë¤Þ¤Ç¥ë¡¼¥×¤¹¤ë) }
ÇÛÎóÊÑ¿ô(@xxx)¤«¤éÍ×ÁǤò½ç¼¡¡¢¥¹¥«¥é¡¼ÊÑ¿ô($xxx)¤ËÂåÆþ¤·¤Æ¡¢ ¥Ö¥í¥Ã¥¯Æâ½èÍý¤ò¼Â¹Ô¤·¤Þ¤¹¡£



¡¡4.last next redo ±é»»»Ò

¡¦¥ë¡¼¥×Æâ¤Çή¤ì¤òÀ©¸æ¤Ç¤­¤ë±é»»»Ò

last¡¡µ­½ÒÎã
open (IN , "< address.txt"); while (<IN>) { if ( /suzuki/ ) { $save = $_; last; } } print $save; close(IN); # address.txt ¥Õ¥¡¥¤¥ë¤ò open # ÆþÎϥ쥳¡¼¥É¤¬¤¢¤ë¸Â¤ê·«¤êÊÖ¤¹ # ÆþÎϥ쥳¡¼¥É¤Ë suzuki ¤Îʸ»úÎó # ¡¡¤¬¤¢¤ì¤Ð¤½¤Î¥ì¥³¡¼¥É¤ò¥»¡¼¥Ö # while ¥Ö¥í¥Ã¥¯¤òÈ´¤±¤ë # ¥»¡¼¥Ö¤·¤¿¥ì¥³¡¼¥É¤ò°õºþ¤¹¤ë # address.txt ¥Õ¥¡¥¤¥ë¤ò close
next¡¡µ­½ÒÎã
@a = ("blue","green", "darkblue","darkgreen"); for($i=0; $i<=$#a; $i++) { if ( $a[$i] =~ /blue/ ){ next; } print $a[$i]," "; } print "\n"; # $#a:ÇÛÎó¤ÎºÇ¸å¤ÎÍ×ÁǤÎź»ú # blue ¤¬¤¢¤ì¤Ð¡¢ # °Ê²¼¤Î½èÍý¤ò¥Ñ¥¹ # green darkgreen ¤òɽ¼¨

last ¥ë¡¼¥×¤ÎÅÓÃæ¤Ç¤½¤Î¥Ö¥í¥Ã¥¯¤«¤éÈ´¤±¤ë next ¥ë¡¼¥×¤Î¼¡¤Î·«¤êÊÖ¤·¤Ø¿Ê¤à redo ¥ë¡¼¥×¤ò¾ò·ïȽÄꤷ¤Ê¤¤¤ÇºÆ¤Ó¼Â¹Ô¤¹¤ë for ʸ¤Ç¤Ï¡¢Áýʬ¤Ï¡¢¼Â¹Ô¤µ¤ì¤º¡¢¤½¤Î¤Þ¤Þ¤Î¾õÂ֤ǡ¢ ¥Ö¥í¥Ã¥¯¤ÎºÇ½é¤Îʸ¤è¤ê½èÍý¤·¤Þ¤¹¡£ ¥ì¥³¡¼¥É¤òÆþÎϤ·¤Æ¤¤¤ë¥ë¡¼¥×¤Ê¤é¡¢¼¡¤Î¥ì¥³¡¼¥É¤ò ÆþÎϤ»¤º¤Ë¡¢¤Þ¤¿Æ±¤¸¥ì¥³¡¼¥É¤ò½èÍý¤¹¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£


¡¦ ¿½Å¥Ö¥í¥Ã¥¯(Æþ¤ì»Ò·Á¼°)¤ÎÀ©¸æ

¿½Å¥Ö¥í¥Ã¥¯¡¡µ­½ÒÎã
LABEL1: while (<>) { $i = 1; chop; $t = 0; while ($i <= $_) { $t = $t + $i ; if ($t > 50) { print $_ . ':' . $t . '>50' . "\n"; last LABEL1; } $i++; } print $_ . ':' . $t . '<50' . "\n"; } print 'end' . "\n"; # while ¥­¡¼¥Ü¡¼¥É¤«¤éÆþÎÏ # ²þ¹Ô¤ò¥«¥Ã¥È # while ÆþÎÏ¿ô»ú¤À¤±¥ë¡¼¥× # 1+2+3... # 1+2+3... > 50 # ÆþÎϤ¬ 10 ¤Î¤È¤­ 55 > 50 ? # ¿¿: Îã 10:55>50 ¤òɽ¼¨ # µ¶: $i = $i + 1 # ÆþÎÏ¿ô»ú¤À¤±¥ë¡¼¥×½ªÎ»»þ # Îã 9:45<50 ¤òɽ¼¨¤·¼¡ÆþÎÏ #last LABEL1¤Ç¤³¤³¤ØÈ´¤±¤ë



1.for ʸ¡¡¡¡ 2.while ʸ¡¡¡¡ 3.foreach ʸ¡¡¡¡ 4.last,next,redo ±é»»»Ò¡¡¡¡¡¡¡¡ [ Top ]