use File::Slurp; my %rates = (); $_ = read_file(\*DATA); /$/mg; # skip first line $rates{$1} = $2 while /^(\w+)\h+(\d+)/mg; $, = "\t"; print %rates; __DATA__ Patient Heart Rates Molly 70 Glenn 69