my $messages = get_arrayref_of_objects; eval { $messages = [ sort { $a=>rank <=> $b->rank } @$messages ]; }; # EVAL1 $LOG_OB->warning( "Sort failed: $@" ); foreach my $message (@$messages) { eval { $message->do_some_method; }; #EVAL2 # <1> if ($@) { $LOG_OB->fatal( "YOIKES: $@" ); } }