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 204     204   4191254 use strict;
  204         353  
  204         6938  
4 204     204   1279 use warnings;
  204         524  
  204         12994  
5 204     204   1022 use Carp 'croak';
  204         312  
  204         14967  
6              
7             require Exporter;
8             require DynaLoader;
9              
10 204     204   1042 use vars qw(@ISA %EXPORT_TAGS @EXPORT_OK $VERSION);
  204         572  
  204         90409  
11             @ISA = qw(DynaLoader);
12              
13             $VERSION = '0.38_02';
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 185     185   2698 for (my $i=scalar(@_)-1 ; $i>0 ; --$i) {
31 243         466 my $v = $_[$i];
32 243         457 chomp $v;
33             # :persist=FOO
34 243 100 100     731 if (length($v) > 8 and substr($v,0,8) eq ':persist') {
35 7         21 my $arg = substr $v, 8;
36 7 50 33     33 if (length($arg) < 2 or substr($arg, 0, 1) ne '=') {
37 0         0 croak "Usage: :persist=FILE";
38             }
39 7         9 my $file = substr $arg, 1;
40 7         30 _persist($file);
41 7         12 splice @_, $i, 1;
42 7         18 next;
43             }
44             # :mac=random
45 236 100 100     634 if (length($v) == 11 and $v eq ':mac=random') {
46 8         30 _hide_mac();
47 8         14 splice @_, $i, 1;
48 8         19 next;
49             }
50             # :mac=unique
51 228 100 100     680 if (length($v) == 11 and $v eq ':mac=unique') {
52 2         7 _hide_always();
53 2         3 splice @_, $i, 1;
54 2         5 next;
55             }
56             # :defer[=N]
57 226 100 100     1149 if (length($v) >= 6 and substr($v,0,6) eq ':defer') {
58 6         11 my $arg = substr $v, 6;
59 6         6 my $len = length $arg;
60 6 100 66     31 if ($len == 0) {
    100          
61 1         1 $arg = '=0.001';
62             }
63             elsif ($len == 1 or substr($arg, 0, 1) ne '=') {
64 1         193 croak "Usage: :defer[=N]";
65             }
66 5         8 my $val = substr $arg, 1;
67 5         61 _defer($val);
68 4         8 splice @_, $i, 1;
69 4         12 next;
70             }
71             }
72 183         4461735 goto &Exporter::import;
73             }
74              
75             # Preloaded methods go here.
76              
77             1;
78             __END__