3-1 ����M�j��ԭz

¥»¸`¤¶²Ð Perl ªº±±¨îµ²ºc¡A¤j·§¥i¤À¬°¤U¦C¼Æ¤jÃþ¡G ¦b±ø¥ó±Ô­z¤¤¡A³Ì±`¨£ªº´N¬O if ±Ô­z¡A¨ä¤@¯ë®æ¦¡¦p¤U¡G If (condition1) { ¡K } elsif (condition2) { ¡K } else { ... } ¨ä¤¤¡uelsif¡v³¡¤À¥i¥H­«½Æ«Ü¦h¦¸¡C¨Ò¦p¡]tif.pl¡^¡G

­ì©lÀÉ¡]tif.pl¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
@alldays = ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun");
$num = rand(scalar @alldays);
$thisday = @alldays[$num];
if ($thisday eq "Sat") {
	$type = "holiday";
} elsif ($thisday eq "Sun") {
	$type = "holiday";
} else {
	$type = "workday";
}
print("$thisday is a $type.");

¦b¤W­±ªº½d¨Ò¤¤¡A¡uscalar @alldays¡v·|¶Ç¦^ 7¡A¥Nªí @alldays ªº¤¸¯À­Ó¼Æ¡A¡urand(scalar @alldays)¡v«h·|¶Ç¦^¤@­Ó¤¶©ó [0, 7) °Ï¶¡ªº¶Ã¼Æ¡A¦]¦¹ $thisday ªº­È´N¥i¯à¬O $alldays ¤¤ªº¥ô¤@­Ó¤¸¯À¡C­Y $thisday ¬O "Sat" ©Î "Sun"¡A«h $type ¬O "holiday"¡A§_«h¡A$type$ ¬O "workday"¡C

¹ï©ó²³æªº if ±Ô­z¡A§Ú­Ì¤]¥i¥H§â if ªº±ø¥ó³¡¤À©ñ¨ì«á­±¡A¨Ò¦p¡A¤U¦C¨â¦Cµ{¦¡½X¬O§¹¥þµ¥®Äªº¡G

if ($x > 0) {print("$x is positive");} print("$x is positive") if ($x > 0); ¤W­zªº²Ä¤G¦Cµ{¦¡½X¬O¤ñ¸û²Å¦X¬ü¦¡¤f»yªº»¡ªk¡A¦ý¦b¤@¯ë¹q¸£µ{¦¡»y¨¥«o«Ü¤Ö¨£¨ì¡C

¥t¤@­Ó±ø¥ó±Ô­z¬O unless¡A¬O¦b§PÂ_±ø¥ó¤£¬°¯uªº±¡ªp¤U¡A¤~°õ¦æ¨ä«áªº±Ô­z¡C¨Ò¦p¡G

unless ($x <= 0) { print("$x is positive"); } ©M if ±Ô­z¬Û¦P¡A§Ú­Ì¤]¥i¥H§â unless ªº±ø¥ó§PÂ_³¡¤À·h¨ì«á­±¡C

ºî¦X¤W­±ªº»¡©ú¡A§Ú­Ì¥iµoı¡A¤U­±¤»¦Cµ{¦¡½Xªº¥\¯à¬O§¹¥þ¤@¼Ëªº¡G

1. if ($x > 0) {print "positive\n";}; 2. print "positive\n" if ($x > 0); 3. unless ($x <= 0) {print "positive\n";}; 4. print "positive\n" unless ($x <= 0); 5. $x > 0 && print "positive\n"; 6. $x <= 0 || print "positive\n"; ¦b¤W¨Ò²Ä¤­¦C¤¤¡A¡u&&¡v¥NªíÅ޿誺¡uAND¡v¹Bºâ¡A¦]¦¹¥u­n²Ä¤@­Ó¹Bºâ¤l¬O 0¡]§Y¤£º¡¨¬ $x > 0¡^¡A«h¤£¦A°õ¦æ²Ä¤G­Ó¹Bºâ¤l¡]§Y¤£¦L¥X "positive"¡^¡C¦P²z¡A¦b²Ä¤»¦C¤¤¡A¡u||¡v¥NªíÅ޿誺¡uOR¡v¹Bºâ¡A¦]¦¹¥u­n²Ä¤@­Ó¹Bºâ¤l¬O 0¡]§Yº¡¨¬ $x <= 0¡^¡A«h¤£¦A°õ¦æ¦C¦L°Ê§@¡C

¦b±ø¥ó±Ô­z¤¤¡APerl ¦p¦ó§PÂ_¤@­Ó¹Bºâ¦¡¬O True ¡]¯u¡^©Î False ¡]°°¡^©O¡H¨ä®Ú¾Úªº­ì«h¦p¤U¡G

  1. ±N¹Bºâµ²ªGµø¬°¤@­Ó¦r¦ê¡C
  2. ¦pªG¹Bºâµ²ªG¬O "0" ©Î ""¡]ªÅ¦r¦ê¡^©Î undef ¡]¥¼©w¸q¡^¡A«h¥Nªíµ²ªG¬° False¡A§_«h§Y¬° True¡C
¥H¤U³o¨Ç½d¨ÒÅýŪªÌ¦Û¦æ°Ñ¦Ò¤Î±À·Q¡G

±ø¥ó±Ô­z§P©wµ²ªG
0False
1-1False
1True
""False
"1"True
"00"True
"0.000"True
undefFalse

±µ¤U¨Ó§Ú­Ì­n»¡©úªº¬O°j°é±Ô­z¡]Loop Statement¡^¡C­º¥ý»¡©úªº¬O while/until °j°é±Ô­z¡A¨ä°ò¥»®æ¦¡¦p¤U¡G

while (±ø¥ó¦¡) { °j°é¤º³¡±Ô­z } until (±ø¥ó¦¡) { °j°é¤º³¡±Ô­z } do { °j°é¤º³¡±Ô­z } while (±ø¥ó¦¡); do { °j°é¤º³¡±Ô­z } until (±ø¥ó¦¡); «e¨âºØ®æ¦¡¬O¥ý§PÂ_±ø¥ó¦¡¡A¦A¨M©w¬O§_°õ¦æ°j°é¤º³¡±Ô­z¡F«á¨âºØ®æ¦¡¬O¥ý°õ¦æ°j°é¤º³¡±Ô­z«á¡A¦A§PÂ_±ø¥ó¦¡¡A¨M©w¬O§_Ä~Äò°õ¦æ°j°é¡C

¥t¤@­Ó±`¥Î¨ìªº°j°é±Ô­z¬O for °j°é¡A¨ä®æ¦¡©M C »y¨¥ªº for °j°é«ÜÃþ¦ü¡C¦b¤U¨Ò¤¤¡A§Ú­Ì§Q¥Î for °j°é±N°}¦Cªº¤¸¯À³v¤@¦L¥X¡G

@days = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"); for ($i=0; $i<7; $i++) { print("$days[$i]"; } Perl ¤]´£¨Ñ¤F¥t¤@ºØ±Mªù¾A¥Î©ó°}¦CÅܼƪº foreach °j°é¡A§Ú­Ì¥i¥Î foreach °j°é±N¤W­zµ{¦¡½X§ï¼g¦p¤U¡G @days = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"); foreach $element (@days) { print("$element"); } ¨ä¤¤ $element ªº­È·|¨Ì§Ç³Q³]©w¬°°}¦C @days ªº¨C¤@­Ó¤¸¯À¡AµM«á¦A°õ¦æ´Á«áªº¦C¦L°Ê§@¡C¨Æ¹ê¤W¡A¤W¨Ò¥i¥H¦A³Q²¤Æ¦p¤U¡G @days = {"Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"); foreach (@days) { print; } ´«¥y¸Ü»¡¡A$element¤w³Q¬Ù²¤¡APerl ·|¦Û¦æ¨ú¥Î¤@­ÓµêÀÀÅÜ¼Æ $_ ¨Ó¨ú¥N $element ªº¨¤¦â¡A¦¹µêÀÀÅܼƤ]¬O foreach ©M print ªº¹w³]¤Þ¼Æ¡]Default Argument¡^¡C

­Y­n±q°j°é¤¤§Y¨è¸õ¥X¡A¥i¥Î last¡A¨ä®ÄªG©M C »y¨¥ªº break ¬O¬Û¦Pªº¡C¨Ò¦p¡A¦b³B²z°}¦C $array ªº¤¸¯À®É¡A­Y¥ô¤@­Ó¤¸¯À­È¬°­t¼Æ®É¡A«h§¹¥þ¸õ¥X°j°é¡A¨Ã¥Ñ°j°é¤§«áªº±Ô­z¶}©l°õ¦æ¡A¨äµ{¦¡½X¬°¡G

for ($i = 0; $i < 10; $i++) { last if $array[$i] < 0; ¡K } ¦b¥t¤@ºØ±¡ªp¤U¡A§Ú­Ì¥i¯à»Ý­nµ²§ô¦¹¦¸°j°éªº°õ¦æ¡A¨Ã¥ß¨è¸õ¦Ü¤U¤@­Ó°j°éªº¶}©l¦ì¸m¨Ó°õ¦æ¡A¦¹¥\¯à¥i¥Ñ next ¨Ó¹F¦¨¡A¨ä®ÄªG©M C »y¨¥ªº continue ¬O¬Û¦Pªº¡C¨Ò¦p¡A¦b³B²z°}¦C $array ªº¤¸¯À®É¡A­Y¥ô¤@­Ó¤¸¯À­È¬°­t¼Æ®É¡A«h¥ß¨è¸õ¥X¦¹¦¸°j°é¡A¨Ã¥Ñ¤U¦¸°j°é¶}©l°õ¦æ¡A¨äµ{¦¡½X¬°¡G foreach $element (@array) { next if $element < 0; ... } ¥Ñ¦¹§Ú­Ì¥i¬Ý¥X¡APerl ªº last ¬Û·í©ó C ªº break¡A¦Ó Perl ªº next ¬Û·í©ó C ªº continue¡C
Perl