It appears that a number of modules include the
use 5.006 directive (presumably as a result of creation using
h2xs), setting the minimum level of Perl required for execution to be 5.6, without good reason. For the most part, the only 5.6 version specific features employed in most of these packages is the use of
our declarations in place of
use vars for package-wide variables.
Whilst I recognise that some modules, really do depend upon version specific elements of Perl (an excellent example of this is the
only module with its use of an object within
@INC), I see the use of mandates for specific versions of Perl something which must be done with great care.
What happened to the concept of backward-compatibility?