perlperl5.8

How do you store a result to a variable and check the result in a conditional?


I know it's possible but I'm drawing a blank on the syntax. How do you do something similar to the following as a conditional. 5.8, so no switch option:

while ( calculate_result() != 1 ) {
    my $result = calculate_result();
    print "Result is $result\n";
}

And just something similar to:

while ( my $result = calculate_result() != 1 ) {
    print "Result is $result\n";
}

Solution

  • You need to add parentheses to specify precedence as != has higher priority than =:

    while ( (my $result = calculate_result()) != 1 ) {
        print "Result is $result\n";
    }