#!/usr/bin/perl use Data::Dumper; use warnings; while ( ) { #$rec = {}; #$rec = (); %rec = (); for $field ( split ) { ($key, $value) = split /=/, $field; $rec{$key} = $value; } push @AoH, \%rec; } print Dumper(\@AoH); __DATA__ A=1 B=2 C=3 Y=4 Z=5 #### $VAR1 = [ { 'Z' => '5', 'Y' => '4' }, $VAR1->[0] ]; #### $VAR1 = [ { 'A' => '1', 'C' => '3', 'B' => '2' }, { 'Z' => '5', 'Y' => '4' } ];