package UNIVERSAL;
-our $VERSION = '1.04';
+our $VERSION = '1.06';
# UNIVERSAL should not contain any extra subs/methods beyond those
# that it exists to define. The use of Exporter below is a historical
# anything unless called on UNIVERSAL.
sub import {
return unless $_[0] eq __PACKAGE__;
+ return unless @_ > 1;
require warnings;
warnings::warnif(
'deprecated',
C<VAL>.
C<can> cannot know whether an object will be able to provide a method through
-AUTOLOAD (unless the object's class has overriden C<can> appropriately), so a
+AUTOLOAD (unless the object's class has overridden C<can> appropriately), so a
return value of I<undef> does not necessarily mean the object will not be able
to handle the method call. To get around this some module authors use a forward
declaration (see L<perlsub>) for methods they will handle via AUTOLOAD. For
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.