in reply to novice 'die' help requested

I like the solution above mine (never heard of Exception::Class before), but the method I usually use is the following.
eval { open my $thingy, "something" or die $!; die "something\n" if $something; }; if( $@ ) { if( $@ eq "something\n" ) { # logging here } else { die $@; } }

I actually got that from the alarm(3) manpage, so don't hold it against me.

-Paul