NAME

version::AlphaBeta - Use alphanumeric version objects

SYNOPSIS

use version::AlphaBeta;
$VERSION = new version::AlphaBeta "v1.2b";

ABSTRACT

Derived class of version objects which permits use of specific
alphanumeric version objects, patterned after the version strings
used by many open source programs, like Mozilla.

DESCRIPTION

The base version objects only permit a sequence of numeric values to be used, which is not how some software chooses to label their version strings. This module permits a specific sequence of alpha, beta, release candidate, release, and patch versions to be specified instead of strictly numeric versions. Sorted in increasing order:

    Version     Meaning
    1.3a        1.3 alpha release
    1.3b        1.3 beta release
    1.3b2       1.3 second beta release
    1.3rc       1.3 release candidate
    1.3rc2      1.3 second release candidate
    1.3         1.3 final release
    1.3p1       1.3 first patch release

This module can be used as a basis for other subclasses of version objects. The global hash object %IB defines the acceptable non-numeric version parameters:

%IB = (
    'a' => 1,
    'b' => 2,
    'rc'=> 3,
    ''  => 4,
    'pl'=> 5
);

which, if present at all, must be located in the third subversion.

OBJECT METHODS

This module provides two additional logical methods, apart from those already exported by the base version class.

  • is_alpha

    Replacing the base method by the same name, this will return true only if the version has an 'a' in the third position, i.e.

    $VERSION = new version::AlphaBeta "1.3a1";
    print $VERSION->is_alpha; # prints 1
  • is_beta

    A new method which supplements $obj->is_alpha:

    $VERSION = new version::AlphaBeta "1.3b3";
    print $VERSION->is_alpha; # prints 0
    print $VERSION->is_beta; # prints 1

EXPORT

None by default.

HISTORY

0.01

Original version; created by h2xs 1.22 with options

  --use-new-tests
	-b
	5.6.0
	-CXfn
	version::AlphaBeta

SEE ALSO

version

AUTHOR

John Peacock, <jpeacock@rowman.com<gt>

COPYRIGHT AND LICENSE

Copyright 2003 by John Peacock

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.