File Coverage

blib/lib/UUID.pm
Criterion Covered Total %
statement 41 42 97.6
branch 13 14 92.8
condition 15 18 83.3
subroutine 5 5 100.0
pod n/a
total 74 79 93.6


line stmt bran cond sub pod time code
1             package UUID;
2             require 5.005063; # see MIN_PERL_VERSION in Makefile.PL
3 215     215   25091279 use strict;
  215         417  
  215         8125  
4 215     215   1050 use warnings;
  215         454  
  215         12967  
5 215     215   1306 use Carp 'croak';
  215         507  
  215         16545  
6              
7             require Exporter;
8             require DynaLoader;
9              
10 215     215   1579 use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $VERSION);
  215         810  
  215         123077  
11             @ISA = qw(DynaLoader);
12              
13             $VERSION = '0.37_08';
14              
15             %EXPORT_TAGS = (
16             'all' => [qw(
17             &clear &compare © &generate &generate_random &generate_time
18             &generate_v0 &generate_v1 &generate_v3 &generate_v4 &generate_v5
19             &generate_v6 &generate_v7 &is_null &parse &time &type &unparse
20             &unparse_lower &unparse_upper &uuid &uuid0 &uuid1 &uuid3 &uuid4
21             &uuid5 &uuid6 &uuid7 &variant &version
22             )],
23             );
24              
25             @EXPORT_OK = @{$EXPORT_TAGS{'all'}};
26              
27             bootstrap UUID $VERSION;
28              
29             sub import {
30 196     196   2973766 for (my $i=scalar(@_)-1 ; $i>0 ; --$i) {
31 255         712 my $v = $_[$i];
32 255         746 chomp $v;
33             # :persist=FOO
34 255 100 100     1112 if (length($v) > 8 and substr($v,0,8) eq ':persist') {
35 7         18 my $arg = substr $v, 8;
36 7 50 33     46 if (length($arg) < 2 or substr($arg, 0, 1) ne '=') {
37 0         0 croak "Usage: :persist=FILE";
38             }
39 7         16 my $file = substr $arg, 1;
40 7         68 _persist($file);
41 7         16 splice @_, $i, 1;
42 7         32 next;
43             }
44             # :mac=random
45 248 100 100     864 if (length($v) == 11 and $v eq ':mac=random') {
46 8         41 _hide_mac();
47 8         21 splice @_, $i, 1;
48 8         26 next;
49             }
50             # :mac=unique
51 240 100 100     934 if (length($v) == 11 and $v eq ':mac=unique') {
52 2         9 _hide_always();
53 2         6 splice @_, $i, 1;
54 2         8 next;
55             }
56             # :defer[=N]
57 238 100 100     1395 if (length($v) >= 6 and substr($v,0,6) eq ':defer') {
58 6         46 my $arg = substr $v, 6;
59 6         13 my $len = length $arg;
60 6 100 66     44 if ($len == 0) {
    100          
61 1         12 $arg = '=0.001';
62             }
63             elsif ($len == 1 or substr($arg, 0, 1) ne '=') {
64 1         296 croak "Usage: :defer[=N]";
65             }
66 5         14 my $val = substr $arg, 1;
67 5         58 _defer($val);
68 4         10 splice @_, $i, 1;
69 4         16 next;
70             }
71             }
72 194         8346749 goto &Exporter::import;
73             }
74              
75             # Preloaded methods go here.
76              
77             1;
78             __END__