diff options
-rw-r--r-- | lib/UNIVERSAL.pm | 4 | ||||
-rw-r--r-- | pod/perlfunc.pod | 16 |
2 files changed, 12 insertions, 8 deletions
diff --git a/lib/UNIVERSAL.pm b/lib/UNIVERSAL.pm index 35297431ec..d11b893db9 100644 --- a/lib/UNIVERSAL.pm +++ b/lib/UNIVERSAL.pm @@ -165,7 +165,9 @@ block or C<blessed> if you need to be extra paranoid. C<VERSION> will return the value of the variable C<$VERSION> in the package the object is blessed into. If C<REQUIRE> is given then it will do a comparison and die if the package version is not -greater than or equal to C<REQUIRE>. +greater than or equal to C<REQUIRE>. Both C<$VERSION> or C<REQUIRE> +must be "lax" version numbers (as defined by the L<version> module) +or C<VERSION> will die with an error. C<VERSION> can be called as either a class (static) method or an object method. diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index faa3eeae25..210aab4a4f 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -4185,10 +4185,12 @@ package as assumed. That is, C<$::sail> is equivalent to C<$main::sail> (as well as to C<$main'sail>, still seen in ancient code, mostly from Perl 4). -If VERSION is provided, C<package> sets the C<$VERSION> variable in the -given namespace. VERSION must be a numeric literal or v-string; it is -parsed the same way the VERSION argument in C<use MODULE VERSION> is. -Set C<$VERSION> only once per package. +If VERSION is provided, C<package> sets the C<$VERSION> variable in the given +namespace. VERSION must be a "strict" style version number as defined by the +L<version> module: a positive decimal number (integer or decimal-fraction) +without exponentiation or else a dotted-decimal v-string with a leading 'v' +character and at least three components. You should set C<$VERSION> only once +per package. See L<perlmod/"Packages"> for more information about packages, modules, and classes. See L<perlsub> for other scoping issues. @@ -7058,9 +7060,9 @@ package. It is exactly equivalent to except that Module I<must> be a bareword. -In the peculiar C<use VERSION> form, VERSION may be either a numeric -argument such as 5.006, which will be compared to C<$]>, or a literal of -the form v5.6.1, which will be compared to C<$^V> (aka $PERL_VERSION). An +In the peculiar C<use VERSION> form, VERSION may be either a positive +decimal fraction such as 5.006, which will be compared to C<$]>, or a v-string +of the form v5.6.1, which will be compared to C<$^V> (aka $PERL_VERSION). An exception is raised if VERSION is greater than the version of the current Perl interpreter; Perl will not attempt to parse the rest of the file. Compare with L</require>, which can do a similar check at run time. |