... eval { $o->doSomething() }; $@ and die ...; # or $@ and warn( ... ) and return; ## or $@ and eval{ $o->doSomethingElse() }; $@ and eval{ $o->doYetSomethingDifferent() }; $@ and eval{ $o->${ ( $o->giveMeAListOfWhatYouCanDo() )[ 0 ] }() }; $@ and die "Apparently $o doesn't know how to do any damn thing!";