我不确定这段代码发生了什么,我认为它与我的变量的作用域有关,但是将它们从“我的”更改为“我们的”没有做任何事情。错误出现在第二个if block中,我试图让它打印$ question1,perl说“$ question1需要特定的包名”。这里的代码只是测试我在程序后面需要做什么。我只需要$ question变量即可在整个程序中使用。perl中的变量范围问题
foreach my $line (split /:/, $test) {
my $match1 = "1";
my $match2 = "2";
if ($line =~ /$match1/) {
my $question1 = $line;
print "$question1\n";
}
if ($line =~ /$match2/) {
my $question2 = $line;
print "$question2\n";
print "$question1\n";
}
}
你有没有想过通过这个?如果'$ match1'不匹配和'$ match2'确实会打印'$ question1'的值? – reinierpost 2014-10-18 20:06:57