Bracketing your functions isn't quite the lesson I would expect you to draw from this, though it works. More flexible, in my opinion at least, is to use
somesub arg1, arg2, arg3 or die "message";
instead of
somesub arg1, arg2, arg3 || die "message";
which is really
somesub arg1, arg2, (arg3 || die "message");