#!perl use strict; use warnings; # open a file for reading in the current directory open(FILEHANDLE,"< input_file.txt") or die $!; open(OUTFILE,"+> outfile_file.txt") or die $!; my $record_count = 0; while (){ my @data = split /\s+/; my $first = shift @data; $record_count++; for (my $i = 0; $i < @data; $i+=2) { print OUTFILE "$record_count\t$first\t", $i/2+1, "\t$data[$i] ", $data[$i+1], "\n"; } }