#!perl use strict; use Data::Dump 'pp'; # test data my @AoH = map{ { line => $_, eventid => int rand(2000) } } 1..8; my $max = 6; for (@AoH){ if ($_->{'line'} > $max){ $_->{'eventid'} = ''; } } for (@AoH+1..$max){ push @AoH, { line => $_, eventid => '' }; } pp \@AoH;