5.6 foreach 控制結構

#! /usr/bin/perl

@ALL=(1, 3, 5, 7, 9);
foreach $num (@ALL) {
	print "$num\n";
}

# foreach 會將 @ALL 陣列中的元素,逐一代入 $num 中,然後在迴圈中顯示 $num,一直到 @ALL 所有元素都輪完為止。


#! /usr/bin/perl

foreach $p ('John', 'Marry', 'Kenny', 'Dice') {
	print "Hi! $p\n";
}

特別注意!!!! foreach 和 for 是可以互用的,也就是說以下例子,結果同上。

#! /usr/bin/perl

@ALL=(1, 3, 5, 7, 9);

# 寫 for 相當於 foreach
for $num (@ALL) {
	print "$num\n";
}

用例

以下這支程式是一支 CGI 程式,請放入 cgi-bin 目錄中,然後 chmod +x env.cgi,即可在瀏覽器中觀看。它會顯示目前的所有的環境變數。

檔名:env.cgi

#!/usr/bin/perl

print "Content-type: text/html\n\n";

print "\n";

foreach (keys %ENV) {
   print $_." ===> ".$ENV{$_}."<br>\n";
}

print "\n";

註:這片光碟中,apache 的設定檔在 /etc/apache/httpd.conf,cgi-bin 的實際路徑我已把它改到 /var/tmp,這是 ramdisk 的一部份,如此,我們才能把 cgi 程式寫入。(KNOPPIX CD 是燒死的,原 cgi-bin 目錄區無法寫入)