Hi
I am having problem understanding why this code is not working:
# my Test package (Test.pm)
package Test;
use strict;
use Data::Dumper;
sub new {
my ($class) = @_;
my $self->{_name} = __PACKAGE__;
$self->{_suffix} = ".sp";
bless $self, $class;
}
sub make{
my ($self,$arg) = @_;
if (ref $arg eq 'ARRAY'){
foreach my $t (@{$arg}){
if (ref $t eq 'HASH'){
_ss($t)
};
}
}
}
sub _ss {
my ($self, %arg) = @_;
print Dumper(\%arg);
}
1;
## and my test scritp(test.pl)
use strict;
use lib "./";
use Test;
my $t = Test->new();
my @a;
my %t = (1 =>"1",
2 => "2");
push(@a,\%t);
$t->make(\@a);
When I execute I get
$VAR1 = {};
Why ?? How to pass a hash ref to
_ss()