## lowercase Use, and 'qw' not 'qe' use Error qw(:try); try { &func1(); print "still in try block\n"; } catch Error::Simple with { my $err = shift; print "Error: ", $err->{'-text'}, "\n"; print "had some problem\n"; } otherwise { print "in otherwise block\n"; }; #^ you *must* have a semi-colon as try/catch/etc # are user-defined subroutines. the docs mention this # in the SYNOPSIS sub func1 { print "in func1\n"; throw Error::Simple('throwing simple error'); } __output__ in func1 Error: throwing simple error had some problem