#!/usr/local/bin/perl use strict; use warnings; # ex_for_foreach.txt print "Content-type: text/html; charset=utf-8\n\n"; print "\n"; print "\n"; print "\n"; print "CGI test\n"; print "\n"; print "\n"; print "-----------------
\n"; # ================================================= # for ($count ; expr ; step) { statements } # $count   カウンターとして使う変数 # expr    条件式。これが真の場合のみステートメントが繰り返される。 # step    繰り返すことにカウンターに加算する数を指定します。 my @aaa = ("田中","山田","竹内"); for(my $i = 0 ; $i <= $#aaa ; $i++) { print $aaa[$i],"くん1","\n"; } print "
\n"; #参考 $iには@aaaの要素の最後尾の番号が入る(ここでは2) my $i = $#aaa; print "最後尾の番号=",$i,"
\n"; print "
\n"; for(0..$#aaa) { print $aaa[$_],"くん2","\n"; } print "
\n"; for(0..(@aaa-1)) { print $aaa[$_],"くん3","\n"; } print "
\n"; #参考 my $j = @aaa; # $jには@aaaの要素数が入る(ここでは3) print "要素数=",$j,"
\n"; print "
\n"; for(@aaa) { print $_,"くん4","\n"; } print "
\n"; #多次元配列 my @m_list = ( ['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ); for my $x (0 .. 3) { for my $y (0 .. 3) { print "$m_list[$x][$y]\n"; } print "
\n"; } # =============================================== # foreach [$var] (@array) { [statements] } # $var   省略可。省略した場合は特殊変数 $_ に代入される # @array  ここで指定された配列が0番から$varに代入される # statements  省略可 foreach my $tmp (@aaa) { print $tmp,"さん1","\n"; } print "
\n"; foreach my $aaa (@aaa) { print $aaa,"さん2","\n"; } print "
\n"; foreach (@aaa) { print $_,"さん3","\n"; } print "
\n"; foreach my $tmp (0..$#aaa) { #  $#aaaは、要素数-1 print $aaa[$tmp],"さん4","\n"; } print "
\n"; foreach my $i (5, 4, 3, 2, 1) { print " $i \n"; } # 出力 5 4 3 2 1 print "
\n"; foreach my $i (5, 4, 3, 2, 1) { if ($i == 3) { next; } # nextは、ループをスキップする print " $i \n"; } # 出力 5 4 2 1 print "
\n"; foreach my $i (5, 4, 3, 2, 1) { if ($i == 3) { last; } # lastは、ループを終了する print " $i \n"; } # 出力 5 4 print "
\n"; my %fruit = ("red", "apple", "yellow", "banana", "violet", "grape"); foreach my $var (keys %fruit) { my $val = $fruit{$var}; print "${var}=\"${val}\"
\n"; } # ⇒  violet="grape" # red="apple" # yellow="banana" foreach my $var (sort(keys %fruit)) { my $val = $fruit{$var}; print "${var}=\"${val}\"
\n"; } # ⇒  red="apple" # violet="grape" # yellow="banana" # ${$a{A}}{AA}=aa ${$a{A}}{AB}=ab ${$a{A}}{AC}=ac  # $a{B}->{AA}=ba  $a{B}->{AB}=bb  $a{B}->{AC}=bc  # $a{C}{AA}=ca  $a{C}{AB}=cb  $a{C}{AC}=cc  my %mulcha = ( 'A' => { 'a' , 1, 'b' , 2, 'c' , 3 }, 'B' => { 'd' , 4, 'e' , 5, 'f' , 6 }, 'C' => { 'g' , 7, 'h' , 8, 'i' , 9 } ); foreach my $j (sort keys %{$mulcha{'C'}}) { print "\$mulcha{C}{$j}=$mulcha{'C'}{$j} 
\n"; } print "
\n"; foreach $i (sort keys %mulcha) { foreach $j (sort keys %{$mulcha{$i}}) { print "\$mulcha{$i}{$j}=$mulcha{$i}{$j} 
\n";} print "
\n";} #------------------------------------ # ========== while ========== # while ( 条件 ) { 実行 } 「条件」が真である間は「実行」を実行 print "\n"; my $y = 0; while ($y < 3) { print "\n"; my $x = 0; while ($x < 5) { my $i = $y * 5 + $x + 1; print "\n"; $x++; } print "\n"; $y++; } print "
"; print $i; print "
\n"; print "*** ケース1 ***\n"; my $count = 1; while ($count) { print "\$count = $count\n"; --$count; } print "
\n"; print "*** ケース2 ***\n"; $count = 1; while ($count) { print "\$count = $count\n"; $count--; } print "
\n"; print "*** ケース3 ***\n"; $count = 1; while (--$count) { print "\$count = $count\n"; } print "
\n"; print "*** ケース4 ***\n"; $count = 1; while ($count--) { print "\$count = $count\n"; } print "
\n"; print "-----------------
\n"; print "\n"; print "\n";