#!/usr/bin/perl use strict; use warnings; my $data1 = <; my ($keyColumn, @columns) = map {chomp; split} $header; while (defined (my $line = <$inFile>)) { chomp $line; my ($key, @data) = split /\s+/, $line; @{$dataRef->{$key}}{@columns} = @data; } return @columns; } #### value1 value2 value3 ATG adsad dsf asdas TTA 24312 144 24