Is there precedent for this? It does seem a little odd that a module would enable pragmas in its calling scope when they aren't strictly necessary (no pun intended). I can appreciate that it reduces boilerplate, but there's nothing about the stated purpose of Test::Most
that makes it obvious that you'd be doing this by default. Most of us are used to having to turn on strict and warnings in our own code. I think your module's user population would break down like this:
- (Hopefully) most people are already using strict and warnings in calling scope, so this change is transparent but provides no tangible benefit.
- Some people are not using strict and warnings in calling scope, so this change breaks their code and they add no pragmas to get their code to work again, again no benefit.
- A small number of people already using strict and warnings read about this change and are able to reduce their boilerplate code by two lines, for the benefit stated.
- An even smaller number of people (perhaps zero) have their code break and they decide to make it strict- and warnings-compliant. I guess this is a benefit, but it's not your stated intention.