... I included use v5.10.0; is because it is the minimum version of
Perl needed to use the module since it uses // ...
To my mind, a use VERSION; statement should generally not be
in a unit test script, but in the module that is under test.
(Of course, there will be odd cases when such a statement needs to be
in a test script, but I expect these cases to be rare.) I try to
write unit tests to be compatible with the absolute minimum Perl
version, although in practice this works out to be version 5.8.8. :)
Placing a use VERSION; statement as the first statement in a
module (and in scripts as needed) as kcott recommends
here is part of compile-time checking of
environmental requirements. I always include a version assertion
except when the code is so generic as to be digestible by even the
most hoary version of Perl. Further, having this statement as the
first statement in a module as kcott suggests can immediately
alert the reader to a minimum version requirement.
It is really the business of each module to police its minimum
environmental requirements, including Perl version. These
requirements may change radically as the module evolves, and you
don't want to have to keep track of all that in a test script.
Also, a given application may use a wide variety of modules with
widely differing minimum requirements. The use_ok test will
catch a mismatch between a module and the test environment right
from the git-go.
Give a man a fish: <%-{-{-{-<