foreach (@old_records) { my $name = substr($_, 0, 8); $name =~ s/\s+$//; my $desc = substr($_, 8, 8); $desc =~ s/\s+$//; my $date = substr($_, 16, 8); $date =~ s/\s+$//; $name = ...reformat name...; $desc = ...reformat desc...; $date = ...reformat date...; push(@new_records, sprintf("%-7s %-13s %s\n", $name, $desc, $date) ); }