Also note that use v5.10; == use 5.10.0; == 5.010;. But use 5.10; == use 5.100;. Which, IMO, is not very DWIM.
An unfortunate side-effect of having two similar but very different numbering systems. At least the error message is useful.
$ perl -e'use 5.10;'
Perl v5.100.0 required (did you mean v5.10.0?)--this is only v5.12.2,
+stopped at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
I don't know whether there's a (single-line) syntax that at compile time checks for 5.10, but which doesn't enable features.
$ perl -M5.014 -e1
Perl v5.14.0 required--this is only v5.12.2, stopped.
BEGIN failed--compilation aborted.