added Next version
|
1 |
package DBIx::Custom::Next::Util; |
2 | ||
3 |
use strict; |
|
4 |
use warnings; |
|
5 | ||
6 |
use base 'Exporter'; |
|
7 | ||
8 |
our @EXPORT_OK = qw/_array_to_hash _subname/; |
|
9 | ||
10 |
sub _array_to_hash { |
|
11 |
my $array = shift; |
|
12 |
|
|
13 |
return $array if ref $array eq 'HASH'; |
|
14 |
return unless $array; |
|
15 |
|
|
16 |
my $hash = {}; |
|
17 |
|
|
18 |
for (my $i = 0; $i < @$array; $i += 2) { |
|
19 |
my $key = $array->[$i]; |
|
20 |
my $f = $array->[$i + 1]; |
|
21 |
|
|
22 |
if (ref $key eq 'ARRAY') { |
|
23 |
for my $k (@$key) { |
|
24 |
$hash->{$k} = $f; |
|
25 |
} |
|
26 |
} |
|
27 |
else { |
|
28 |
$hash->{$key} = $f; |
|
29 |
} |
|
30 |
} |
|
31 |
return $hash; |
|
32 |
} |
|
33 | ||
34 |
sub _subname { '(' . (caller 1)[3] . ')' } |
|
35 | ||
36 |
1; |
|
37 | ||
38 |
=head1 NAME |
|
39 | ||
40 |
DBIx::Custom::Next::Util - Utility class |
|
41 |