On May 22, Paul said:
>I know that in many C compilers, the a ? b : c construct with the
>ternary ?: operator si not stable after the second or third nesting,
>but I've never seen that sort of problem in tests I've run in Perl.
The only to watch out for is precendence:
$a ? $b = $c : $b = $d;
is like
($a ? $b = $c : $b) = $d;
which always sets $b to $d.
> sub rate ($) {
> $_[0] eq 'A' ? .03 :
> $_[0] eq 'B' ? .05 :
> $_[0] eq 'C' ? .06 :
> .08; # the default
> }
That's fine, but I prefer to use hashes for that sort of thing.
{
my %rates = qw(
A .03
B .05
C .06
);
sub rate {
exists $rates{$_[0]} ? $rates{$_[0]} : .08
}
}
--
Jeff "japhy" Pinyan [EMAIL PROTECTED] http://www.pobox.com/~japhy/
Are you a Monk? http://www.perlmonks.com/ http://forums.perlguru.com/
Perl Programmer at RiskMetrics Group, Inc. http://www.riskmetrics.com/
Acacia Fraternity, Rensselaer Chapter. Brother #734
** I need a publisher for my book "Learning Perl's Regular Expressions" **