gansvv has asked for the wisdom of the Perl Monks concerning the following question:
How do I compose multiple if-else statements using the C-style ternary operator?
Say, $status can have the following values:
2 meaning "HIGH",
1 meaning "MODERATE", or
0 meaning "LOW".
How can I concisely code to print the message given the $status variable.
Here is my attempt, which prints the correct status, but is followed by a 1. What is this return value and why does it get printed?!
print eval { ($status == 2) ? print "HIGH " : (($status == 1) ? print "MODERATE " : print "LOW " ) };
With $status = 0, this prints: "LOW 1"
Back to
Seekers of Perl Wisdom