push @data, %tmp;
####
push @data, { %tmp };
and later ..
print $data[0]->{COMPONENT};
####
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
my $file = "";
my @columns = ( "ONE", "TWO", "THREE", "FOUR", "FIVE" );
my @AoH = read_dat($file);
print Data::Dumper->Dump(\@AoH);
print "\n\nArray of hash element: ", $AoH[0]->{"THREE"}, "\n";
sub read_dat
{
my $file = shift;
my @data = ();
for my $line( ) {
next unless $line =~ m/\w+/;
my @line = split (",", $line);
my $i = 0;
my %tmp;
foreach my $col (@columns){
$tmp{$col} = $line[$i];
$i++;
}
push @data, { %tmp };
}
return @data;
}
__DATA__
0,1,2,3,4
1,2,3,4,5
2,3,4,5,6
3,4,5,6,7