Michael G Schwern wrote:
What's missing is a way to let Devel::Cover know that a bit of coverage is
not necessary. The first way to do this which pops into my mind is a comment.
my $foo = $bar || default(); # DC ignore X|0
I posted an item about this usage of the "||" operator the Devel::Cover
RT several months ago:
http://rt.cpan.org/NoAuth/Bug.html?id=11304
My suggestion turns on the question of whether it's possible to
differentiate the context between a true boolean context ( "foo() if $p
|| $q" ) and a "pseudo-boolean" context that is really part of an
assignment ( "my $foo = $p || $q" ) or just a standalone statement ( "$p
|| print $q" ).
Want.pm seems to imply that this might be possible, but I don't know the
guts of Perl well enough. The concept I had was that *EXCEPT* in true
boolean context, the "$p || $q" idiom is (I think) pretty much logically
equivalent to a trinary operation "$p ? $p : $q" (ignoring potential
side effects) and thus the truth table in this situation only needs to
include the first operand, thus avoiding the false-alarm.
Regards,
David Golden