http://qs1969.pair.com?node_id=913788

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"