#!/usr/bin/perl use warnings; use strict; my $str = <[0] ne $name ? $name = $_->[0] : ''), $_->[1]} map { [split " ", $_, 2] } split /\n+/, $str; print $str; #### GEORGE 21 45 NICK 12 PETER 27 JIM 18 87 CHRIS 33