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

Reply via email to