Yes. All the changes were made. I showed you only what I thought was necessary within the object. The problem is that when the object is instantiated, and the set() and get() methods are called afterwards, the hash gets corrupted somehow.
The data is set like this in the hash:
$hshFoo{$keyNew} = $strFile;
# Ex:
# $hshFoo{"203000"} = "203000.xml";
#######################
# here is the code...
sub get_hshAgg {
my $self = shift;
return %{$self->{hshAgg}};
}
sub set_hshAgg {
my $self = shift;
my %hshToAgg = shift;
$self->{hshAgg} = \%hshToAgg;
}
sub run {
my $self = Foo->new(@_);
my %hshToAgg = ();
my $class;
(
$class,
%hshToAgg
) = @_;
$self->set_id($intID);
$self->set_hshAgg(%hshToAgg);
use Data::Dumper;
print Dumper \%hshToAgg;
# OUTPUT: THIS WORKS!
#$VAR1 = {
# '2030000' => '2030000.XML',
# '2030001' => '2030001.XML',
# '2030002' => '2030002.XML'
# };
print "After instantiation\n");
my %hshTest = $self->get_hshAgg();
print Dumper \%hshTest;
# OUTPUT: THIS DOES NOT WORK!
#$VAR1 = {
# '2030000' => undef
# };
}
I do not understand where the data is getting lost.
-P0w3rK!d