NAME UUID::FFI - Universally Unique Identifiers FFI style VERSION version 0.07 SYNOPSIS my $uuid = UUID::FFI->new_random; print $uuid->as_hex, "\n"; DESCRIPTION This module provides an FFI interface to libuuid. libuuid library is used to generate unique identifiers for objects that may be accessible beyond the local system CONSTRUCTORS new my $uuid = UUID::FFI->new($hex); Create a new UUID object from the hex representation $hex. new_random my $uuid = UUID::FFI->new_random; Create a new UUID object with a randomly generated value. new_time my $uuid = UUID::FFI->new_time; Create a new UUID object generated using the time and mac address. This can leak information about when and where the UUID was generated. new_null my $uuid = UUID::FFI->new_null; Create a new UUID NULL UUID object (all zeros). METHODS is_null my $bool = $uuid->is_null; Returns true if the UUID is NULL UUID. clone my $uuid2 = $uuid->clone; Create a new UUID object with the identical value to the original. as_hex my $hex = $uuid->as_hex; my $hex = "$uuid"; Returns the hex representation of the UUID. The stringification of UUID::FFI uses this function, so you can also use it in a double quoted string. compare my $cmp = $uuid1->compare($uuid2); my $cmp = $uuid1 <=> $uuid2; my @sorted_uuids = sort { $a->compare($b) } @uuids; my @sorted_uuids = sort { $a <=> $b } @uuids; Returns an integer less than, equal to or greater than zero if $uuid1 is found, respectively, to be lexicographically less than, equal, or greater that $uuid2. The <=> is also overloaded so you can use that too. type my $type = $uuid->type; Returns the type of UUID, either time or random, if it can be identified. variant my $variant = $uuid->variant Returns the variant of the UUID, either ncs, dce, microsoft or other. time my $time = $uuid->time; Returns the time the UUID was generated. The value returned is in seconds since the UNIX epoch, so is compatible with perl builtins like time and localtime. AUTHOR Graham Ollis COPYRIGHT AND LICENSE This software is copyright (c) 2014 by Graham Ollis. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.