You can use require for version checks
That delays the version check to run-time, resulting in unwanted compilation errors:
$ perl-5.8.8 -e 'require 5.010; /1++/'
Nested quantifiers in regex; marked by <-- HERE in m/1++ <-- HERE / at
+ -e line 1.
as opposed to
$ perl-5.8.8 -e 'use 5.010; /1++/'
Perl v5.10.0 required--this is only v5.8.8, stopped at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
but a better solution is to put it in the installation script.
That would be an argument against the entire use 5.XXX;
syntax; it also assumes there's only one Perl version on the system - and it will never change. Not to mention many scripts don't come with an installation script. (For instance, most complete programs posted on Perlmonks are presented as-is, without an installation script).