General Perl Best Practice stuff: uncuddle "else", localise $@

use $exception in place of $e
use parent in place of "base"
Merge pull request #115 from heytrav/master

perl: use parent in place of base and uncuddle "else" as suggested by the Perl Best Practices book.