これは私を夢中にさせています.Perlはifステートメントに入ると変数の値を失うだけです...そして奇妙なことに、これはその変数だけであり、他の変数はその値を失うことはありません.
open (MYFILE, "b");
my $haysack = "";
while (<MYFILE>)
{
$haysack = $haysack . "$_";
}
close (MYFILE);
open (MYFILE2, "ip_range");
my $needles = "";
while (<MYFILE2>)
{
$needles = $needles . "$_";
}
close (MYFILE2);
my $someOtherValue = "blabla";
while ($needles =~ m/(.*?)\n/g)
{
$needle = $1;
if ($haysack =~ m/$needle/ims)
{
print "FOUND : $needle\n";
print "$someOtherValue\n";
}
}
したがって、コードは正常に if ステートメントに入りますが、いったん入ると、次の出力が得られます。
FOUND:
blabla
誰でも助けることができますか?