BLOCK 1 sub CONVERT { # record->[1] is the key for the hash of arrays foreach my $record (@Data) { $record->[1] =~ s/\s+//g; $record->[1] = join ("_", $Map{$record->[1]}[1], $Map{$record->[1]}[0]); } } BLOCK 2 foreach my $record (@Data ) { for my $i (0 .. 4) { print DATA $record->[$i] . " "; } print DATA "\n"; }