Я знаю, что это возможно, но я рисую пробел в синтаксисе. Как вы делаете что-то похожее на следующее как условное. 5.8, поэтому нет опции переключения:
while ( calculate_result() != 1 ) {
my $result = calculate_result();
print "Result is $result\n";
}
И просто что-то похожее на:
while ( my $result = calculate_result() != 1 ) {
print "Result is $result\n";
}