| 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; | ||||||