summaryrefslogtreecommitdiffstats
path: root/lib/Exporter/Lexical.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Exporter/Lexical.pm')
-rw-r--r--lib/Exporter/Lexical.pm10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Exporter/Lexical.pm b/lib/Exporter/Lexical.pm
index 48e4d72..5714dca 100644
--- a/lib/Exporter/Lexical.pm
+++ b/lib/Exporter/Lexical.pm
@@ -77,8 +77,14 @@ sub build_exporter {
no strict 'refs';
\%{ $caller . '::' };
};
- my @exports = @{ $opts->{'-exports'} };
- my %exports = map { $_ => \&{ $caller_stash->{$_} } } @exports;
+ my %exports;
+ if (ref($opts->{'-exports'}) eq 'ARRAY') {
+ %exports = map { $_ => \&{ $caller_stash->{$_} } }
+ @{ $opts->{'-exports'} };
+ }
+ elsif (ref($opts->{'-exports'}) eq 'HASH') {
+ %exports = %{ $opts->{'-exports'} };
+ }
for my $export (keys %exports) {
lexical_import($export, $exports{$export});