in reply to Re^2: Question on "Effective Perl Programming"
in thread Question on "Effective Perl Programming"
Maybe I'm not reading your description correctly, or maybe our versions of Exception::Class differ, but I don't see the behavior you're describing. Quite the opposite, in fact. The boolean test sees the exception, but the test against '' can't see it (because it stringifies to '').
use Exception::Class ( 'MyException' => { description => '' } ); eval { MyException->throw( message => '' ); }; if ($@) { print "I see you, exception class (boolean)!\n"; } else { print "Nothing to see here (boolean).\n"; } if ( $@ ne '' ) { print "I see you, exception class (ne '')!\n"; } else { print "Nothing to see here (ne '').\n"; } __END__ I see you, exception class (boolean)! Nothing to see here (ne '').
My version is 1.2, and I see this in it:
use overload # an exception is always true bool => sub { 1 }, '""' => 'as_string', fallback => 1;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Question on "Effective Perl Programming"
by perrin (Chancellor) on Sep 06, 2007 at 05:59 UTC | |
by kyle (Abbot) on Sep 06, 2007 at 11:59 UTC | |
by perrin (Chancellor) on Sep 06, 2007 at 12:39 UTC |