File: | lib/List/Enumerator.pm |
Coverage: | 100.0% |
line | stmt | bran | cond | sub | pod | time | code |
---|---|---|---|---|---|---|---|
1 | package List::Enumerator; | ||||||
2 | 5 | 53 | use Sub::Exporter -setup => { | ||||
3 | exports => [ "E" ], | ||||||
4 | groups => { | ||||||
5 | default => [ "E" ], | ||||||
6 | } | ||||||
7 | 5 5 | 192 12 | }; | ||||
8 | |||||||
9 | 5 5 5 | 210 15 75 | use List::Enumerator::Array; | ||||
10 | 5 5 5 | 238 12 48 | use List::Enumerator::Sub; | ||||
11 | |||||||
12 | our $VERSION = "0.04"; | ||||||
13 | |||||||
14 | sub E { | ||||||
15 | 179 | 1 | 963 | my (@args) = @_; | |||
16 | 179 | 690 | if (ref($args[0]) eq "ARRAY") { | ||||
17 | 30 | 144 | List::Enumerator::Array->new(array => $args[0]); | ||||
18 | } elsif (ref($args[0]) eq "HASH") { | ||||||
19 | 6 6 | 7 42 | List::Enumerator::Sub->new(%{ $args[0] }); | ||||
20 | } elsif (ref($args[0]) =~ /^List::Enumerator/) { | ||||||
21 | 17 | 66 | $args[0]; | ||||
22 | } else { | ||||||
23 | 126 | 678 | List::Enumerator::Array->new(array => \@args); | ||||
24 | } | ||||||
25 | } | ||||||
26 | |||||||
27 | |||||||
28 | 1; |