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 264     264   22562571 use strict;
  264         376  
  264         7689  
4 264     264   959 use warnings;
  264         387  
  264         12237  
5 264     264   1201 use Carp 'croak';
  264         372  
  264         15565  
6              
7             require Exporter;
8             require DynaLoader;
9              
10 264     264   1472 use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $VERSION);
  264         747  
  264         107557  
11             @ISA = qw(DynaLoader);
12              
13             $VERSION = '0.37_09';
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 245     245   3472878 for (my $i=scalar(@_)-1 ; $i>0 ; --$i) {
31 303         735 my $v = $_[$i];
32 303         628 chomp $v;
33             # :persist=FOO
34 303 100 100     1062 if (length($v) > 8 and substr($v,0,8) eq ':persist') {
35 7         15 my $arg = substr $v, 8;
36 7 50 33     36 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         50 _persist($file);
41 7         16 splice @_, $i, 1;
42 7         24 next;
43             }
44             # :mac=random
45 296 100 100     848 if (length($v) == 11 and $v eq ':mac=random') {
46 8         48 _hide_mac();
47 8         15 splice @_, $i, 1;
48 8         19 next;
49             }
50             # :mac=unique
51 288 100 100     851 if (length($v) == 11 and $v eq ':mac=unique') {
52 2         10 _hide_always();
53 2         5 splice @_, $i, 1;
54 2         5 next;
55             }
56             # :defer[=N]
57 286 100 100     1260 if (length($v) >= 6 and substr($v,0,6) eq ':defer') {
58 6         14 my $arg = substr $v, 6;
59 6         10 my $len = length $arg;
60 6 100 66     53 if ($len == 0) {
    100          
61 1         2 $arg = '=0.001';
62             }
63             elsif ($len == 1 or substr($arg, 0, 1) ne '=') {
64 1         280 croak "Usage: :defer[=N]";
65             }
66 5         9 my $val = substr $arg, 1;
67 5         41 _defer($val);
68 4         10 splice @_, $i, 1;
69 4         12 next;
70             }
71             }
72 243         8370085 goto &Exporter::import;
73             }
74              
75             # Preloaded methods go here.
76              
77             1;
78             __END__