From a2a2164aadab29b7424ea8f581413cf6a3b185b1 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 12 May 2010 00:35:25 -0500 Subject: only pass initializers for array and hash --- lib/Stash/Manip.pm | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'lib') 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}; -- cgit v1.2.3-54-g00ecf