#!perl -w use strict; use Data::Dumper; my %fields_types; my @data; my %prev; my $biggest; while () { if (/^#(.*)/) { # new field declaration my @fields = split ' ',$1; $biggest = @fields if @fields > $biggest; $fields_types{scalar(@fields)} = \@fields; } else { my @line = split /(?