use strict; use warnings; my %data; while(){ my ($key,$value) = split/\s+|,/=>$_,2; $data{$key} = $value; } print $_,',',$data{0+$_},$/ for qw( 10.1 100.1 25.1 103.1 ); __DATA__ 100.1,A ,25, 36,56,89,45,36,56 25.1 ,B,232,565,65,56,56,48,25 103.1,C,25,5,6,9,4,5,56,889,9 10.1,D,5,6,5,8,9,8,12,23,36,6