私のプログラムは
#!\usr\bin\perl -w
my @one= ("sun", "moon", "star");
my $three="SON";
my $flag= 0;
my $tester_1=0 ;
my $tester_2= 0;
my $i= 0;
push (@one, $three);
print @one;
print join(" ", @one);
while (@one[$i]= $three)
{
#flag 1
if (@one[$i] ne "moon"&& @one[$i] ne "star")
{
$tester_1= 1;
}
##flag2
if ($i<= 99)
{
$tester_2=1;
}
#real condition
if ($tester_1= 1)
{
if ($tester_2= 1)
{
print @one[$i];
$i++;
}
}
}
プログラムを実行します。ループは無限回実行されます。フラグ 2 で $i<= 99; という条件を設定したため、プログラムは 100 番目の SON を出力した後に停止するはずです。しかし、何らかの理由で $i<= 99 が機能していませんか? 理由は何ですか?