File Coverage

blib/lib/Attribute/Constant.pm
Criterion Covered Total %
statement 21 21 100.0
branch 6 8 75.0
condition n/a
subroutine 7 7 100.0
pod 0 1 0.0
total 34 37 91.8


line stmt bran cond sub pod time code
1             package Attribute::Constant;
2 4     4   13632 use 5.008001;
  4         16  
  4         184  
3 4     4   25 use warnings;
  4         7  
  4         120  
4 4     4   22 use strict;
  4         8  
  4         409  
5             our $VERSION = sprintf "%d.%02d", q$Revision: 1.1 $ =~ /(\d+)/g;
6 4     4   3473 use Attribute::Handlers;
  4         21708  
  4         24  
7 4     4   3837 use Data::Lock ();
  4         9  
  4         416  
8              
9             sub UNIVERSAL::Constant : ATTR {
10 13     13 0 43705 my ( $pkg, $sym, $ref, $attr, $data, $phase ) = @_;
11             (
12 13 100       133 ref $ref eq 'HASH' ? %$ref
    100          
    50          
    50          
13             : ref $ref eq 'ARRAY' ? @$ref
14             : ($$ref)
15             )
16             = ref $data
17             ? ref $data eq 'ARRAY'
18             ? @$data # perl 5.10.x
19             : $data
20             : $data; # perl 5.8.x
21 13         55 Data::Lock::dlock($ref);
22 4     4   21 }
  4         8  
  4         30  
23              
24             1;
25             __END__