Yitzchak Scott-Thoennes wrote:
If the VERSION argument is present between Module and LIST, then the
C<use> will call the VERSION method in class Module with the given
version as an argument. The default VERSION method, inherited from
the UNIVERSAL class, croaks if the given version is larger than the
value of the variable C<$Module::VERSION>.
Like it or not, using a $VERSION scalar is the UNIVERSAL-supplied
default, but not the only game in town.
But Module::Build, ExtUtils::MakeMaker, and the CPAN indexer will not work with
that schema (since they grovel through the source code for the $VERSION
assignment), so for all intents and purposes, any well-coded module will need to
set the $VERSION scalar. If you wanted to *also* provide your own VERSION sub,
instead of relying on UNIVERSAL::VERSION, you could get very tricky - see my own
version::Limit on CPAN for one way of providing very fine-grained version control...


John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Blvd
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 17 of 26 | next ›
Discussion Overview
groupperl5-porters @
postedJul 31, '07 at 10:01a
activeAug 5, '07 at 2:53p



site design / logo © 2019 Grokbase