in reply to Multiple if-else statements using C-style ternary operator
my $message = $status == 2 ? 'HIGH' : $status == 1 ? 'MODERATE' : 'LOW' print $message
Depending on the depth of status, you may want to use a hash
Or even a standard array if the values really are ints in a 0..n range.my %status_message = { 2 => 'HIGH', 1=>'MODERATE', 0=>'LOW' }; my $message = $status_message{ $status } || 'LOW';
These are both made a little more odd by the the inclusiveness of the default "LOW" value. Your demo code makes message "LOW" for any status other than 1 or 2.my @status_messages = qw( LOW MODERAGE HIGH ); my $message = $status_messages[$status] || 'LOW';
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Multiple if-else statements using C-style ternary operator
by JavaFan (Canon) on Jul 11, 2011 at 23:04 UTC |