#!/usr/bin/perl use strict; use warnings; my $file = $ARGV[0] or die "Usage: $0 "; open(my $fh, '<', $file) or die "Unable to open '$file' for reading: $!"; while (<$fh>) { chomp; my ($num, @data) = split m|,?\s+(?=sp)|i; die "Need rules for handling odd elements" if @data % 2; for (my $idx = 0; $idx < @data - 3; $idx += 4) { print join("\t", $num, @data[$idx, $idx + 2]), "\n"; print join("\t", $num, @data[$idx + 1, $idx + 3]), "\n"; } if (@data % 4) { print join("\t", $num, "-", $data[-2]), "\n"; print join("\t", $num, "-", $data[-1]), "\n"; } }