perlquestion
gansvv
<p>
How do I compose multiple if-else statements using the C-style ternary operator?
</p>
<p>
Say, $status can have the following values: <br />
2 meaning "HIGH", <br />
1 meaning "MODERATE", or <br />
0 meaning "LOW". <br />
How can I concisely code to print the message given the $status variable.
<br /><br />
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?!
</p>
<code>
print eval { ($status == 2) ? print "HIGH " :
(($status == 1) ? print "MODERATE " :
print "LOW "
)
};
</code>
<p>
With $status = 0, this prints:
"LOW 1"
</p>