summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/Stash/Manip.pm15
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};