diff options
-rw-r--r-- | lib/Stash/Manip.pm | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/lib/Stash/Manip.pm b/lib/Stash/Manip.pm index 3055d1d..173ba13 100644 --- a/lib/Stash/Manip.pm +++ b/lib/Stash/Manip.pm @@ -204,12 +204,17 @@ sub get_package_symbol { my $namespace = $self->namespace; - # FIXME if (!exists $namespace->{$name}) { - my $initial = $type eq 'ARRAY' ? [] - : $type eq 'HASH' ? {} - : \undef; - $self->add_package_symbol($variable, $initial) + if ($type eq 'ARRAY') { + $self->add_package_symbol($variable, []); + } + elsif ($type eq 'HASH') { + $self->add_package_symbol($variable, {}); + } + else { + # FIXME + $self->add_package_symbol($variable) + } } my $entry_ref = \$namespace->{$name}; |