#!/usr/bin/perl use warnings; use strict; my %hash; my $name; while () { chomp; if ($. % 2) { # Even lines. $name = $_; } else { push @{ $hash{$name} }, $_; } } use Data::Dumper; print Dumper \%hash; __DATA__ James 40 Philip 12 James 35 James 26 James 15 Philip 27