#!/usr/bin/perl use strict; use warnings; use IO::All; use Data::Dumper; use List::Util qw(sum); sub mean { return sum(@_)/@_; } my @lines = io('in.txt')->chomp->slurp; splice @lines, 0, 1; # remove first line my %hash; foreach my $line (@lines) { $line =~ s/^\s+//; my @elements = split /\s+/, $line; my $reference = splice @elements, 0, 1; $hash{$reference} = mean(@elements); } print Dumper \%hash; __END__ $ perl test.pl $VAR1 = { 'Pineapple' => '25', 'Apple' => '47.25', 'orange' => '22.5' };