I usually use it to visually unclutter code that would otherwise be an if with tiny blocks. It can be used in void context for something like
$i == 15 ?
push @str, $_ :
$j = $i += 1;
or you can "chain" ternary operators by using another ternary as the false-branch of the previous:
my $res =
$cmd eq "add" ? $x + $y :
$cmd eq "sub" ? $x - $y :
$cmd eq "mul" ? $x * $y :
$cmd eq "div" ? $x / $y :
undef;
which would otherwise have to be a hideously ugly and thrice as repetitive thing like this:
my $res;
if ($cmd eq "add") { $res = $x + $y }
elsif($cmd eq "sub") { $res = $x - $y }
elsif($cmd eq "mul") { $res = $x * $y }
elsif($cmd eq "div") { $res = $x / $y }
else { $res = undef }
Makeshifts last the longest.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|