NAME
Data::GUID - globally unique identifiers
VERSION
version 0.02
$Id: /my/cs/projects/guid/trunk/lib/Data/GUID.pm 19227 2006-02-28T01:06:16.070217Z rjbs $
SYNOPSIS
use Data::GUID;
my $guid = Data::GUID->new;
my $string = $guid->as_string; # or "$guid"
my $other_guid = Data::GUID->from_string($string);
if (($guid <=> $other_guid) == 0) {
print "They're the same!\n";
}
DESCRIPTION
Data::GUID provides a simple interface for generating and using globally unique identifiers.
GETTING A NEW GUID
new
my $guid = Data::GUID->new;
This method returns a new globally unique identifier.
GUIDS FROM EXISTING VALUES
These method returns a new Data::GUID object for the given GUID value. In all cases, these methods throw an exception if given invalid input.
from_string
my $guid = Data::GUID->from_string("B0470602-A64B-11DA-8632-93EBF1C0E05A");
from_hex
# note that a hex guid is a guid string without hyphens and with a leading 0x
my $guid = Data::GUID->from_hex("0xB0470602A64B11DA863293EBF1C0E05A");
from_base64
my $guid = Data::GUID->from_base64("sEcGAqZLEdqGMpPr8cDgWg==");
from_data_uuid
This method returns a new Data::GUID object if given a Data::UUID value. Because Data::UUID values are not blessed and because Data::UUID provides no validation method, this method will only throw an exception if the given data is of the wrong size.
GUIDS INTO STRINGS
These methods return various string representations of a GUID.
as_string
This method returns a "traditional" GUID/UUID string representation. This is five hexadecimal strings, delimited by hyphens. For example:
B0470602-A64B-11DA-8632-93EBF1C0E05A
This method is also used to stringify Data::GUID objects.
as_hex
This method returns a plain hexadecimal representation of the GUID, with a leading 0x
. For example:
0xB0470602A64B11DA863293EBF1C0E05A
as_base64
This method returns a base-64 string representation of the GUID. For example:
sEcGAqZLEdqGMpPr8cDgWg==
OTHER METHODS
compare_to_guid
This method compares a GUID to another GUID and returns -1, 0, or 1, as do other comparison routines.
as_binary
This method returns the packed binary representation of the GUID. At present this method relies on Data::GUID's underlying use of Data::UUID. It is not guaranteed to continue to work the same way, or at all. Caveat invocator.
IMPORTING
Data::GUID does not export any subroutines by default, but it provides four routines which will be imported on request. These routines may be called as class methods, or may be imported to be called as subroutines.
guid
use Data::GUID qw(guid);
my $guid_1 = Data::GUID->guid;
my $guid_2 = guid;
This routine returns a new Data::GUID object.
guid_string
This returns the string representation of a new GUID.
guid_hex
This returns the hex representation of a new GUID.
guid_base64
This returns the base64 representation of a new GUID.
AUTHOR
Ricardo SIGNES, <rjbs@cpan.org>
TODO
add namespace support
remove dependency on wretched Data::UUID
make it work on 5.005
BUGS
Please report any bugs or feature requests to bug-data-guid@rt.cpan.org
, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT
Copyright 2006 Ricardo Signes, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.