#!/usr/bin/perl use strict; use warnings; sub fails { 0 } sub logs { print "error: @_"; 1 } eval { 1 or die "some message here for first part"; fails or die "some message here for second part"; }; if ($@) { logs($@); exit 1; # i.e. return failure } # Otherwise all ok... __END__ ~/sviluppo/perl> perl example.pl error: some message here for second part at example.pl line 11.