use strict; use warnings; while (){ if ($_ =~ m/^00CH,Gateshead MCD,([^\n]+)/){ my @pos = split/\,/, $1; print "Position : $_ \t $pos[$_]\n" for (0..$#pos); } print '-' x 90, "\n"; } __DATA__ 00CH,Gateshead MCD,619,172.90,158.94,186.87,,537,87.42,79.61,95.23,,1156,126.89,119.29,134.50 00CH,Gateshead MCD,69,12.90,158.94,186.87,,537,87.4,7.61,95.23,,116,126.89,19.29,14.50