All the Perl that's Practical to Extract and Report

Navigation

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Without JavaScript enabled, you might want to
use the classic discussion system instead. If you login, you can remember this preference.

Please Log In to Continue

Sorry, if the following text sounds a bit rude;-)
I don't really know what the big problem is. At the beginning you wrote you test it in a way beginners would do, meaning you don't want the modules to cause problems to beginners. Enabling use strict and use warnings is definatly the way to go in more than 99% of cases. Even Perl6 enables it per default. Nearly every module forces you to something and these two things shouldn't really be a problen in most cases. Even low level programming languages (meanin

One, the module is doing something that isn't its advertised function and _really_ isn't neccessary to implement its core function.

Two, it's changing behaviour of the parent program, this is a bad thing to do even when it _is_ neccessary.

Three, it isn't clear in situations like the Moose one, just when to turn it off or on, consider the following sequence within a single scope:

You enable warnings/strict. You do some code. You turn off warnings/strict. You do some code. You use Moose. You do some code. You turn on warnings/strict again not realising Moose turned them on. You do some code. You turn Moose off.

What's the state of play now? Are warnings on or off? Is strict on or off?

That depends on the implementation of how Moose is tracking warnings/strict - is it reverting to what it saw when it started, or is it counting references? It gives different results depending on how they implemented it.

This is _entirely_ uneccessary and only obsfucates behaviour that _ought_ to be under the control of the programmer.