in reply to Re^5: When C<use Module;> *not* the same as C<require Module; import Module;>?
in thread When C<use Module;> *not* the same as C<require Module; import Module;>?

For one of my modules, I wanted to use Test::Exception in an eval so that I could skip the tests if Test::Exception was not installed. It didn't work (with the syntax shown above) until I wrapped the eval in a BEGIN block.

For those who don't already know, you can always call prototyped subroutines that take a bare block with () and an explicit sub {} if you want.

I've made this more explicit in the documentation of T::E for those who hate prototypes.

  • Comment on Re^6: When C<use Module;> *not* the same as C<require Module; import Module;>?
  • Download Code