package MyError::SomeError.pm; use Error::Simple; # the line that shouts @ISA = qw(Error::Simple); 1; #### #!/usr/bin/perl -w use Error qw(:try); use MyError::SomeError; try { throw MyError::SomeError('Throwing some error'); } catch MyError::SomeError with { print "Caught it\n"; }; #### Can't locate MyErrors/SomeError.pm in @INC (@INC contains: /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0) at MyError/SomeError.pm line3. BEGIN failed--compilation aborted at MyError/SomeError.pm line3. BEGIN failed--compilation aborted at ./test.pl line 4.