Я не уверен, что происходит с этим кодом, я считаю, что это имеет какое-то отношение к тому, как меняются мои переменные, но изменение их с «моего» на «наш» ничего не делает , Ошибка возникает во втором блоке, где я пытаюсь заставить его печатать $ 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";
}
}
Задумывались ли Вы это через? Какую ценность '$ question1' вы ожидаете напечатать в случае, если' $ match1' не соответствует, а '$ match2'? – reinierpost