NAME UUID::FFI - Universally Unique Identifiers FFI style VERSION version 0.11 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 <plicease@cpan.org> COPYRIGHT AND LICENSE This software is copyright (c) 2014-2022 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.