This should work (but beware - it is untested :) Rob
my @required = qw(head1 head6 head8); my $line; for (<DATA>) { chomp; my @field = split /,/; my %column; # hash relating column header to column index next unless @field; # Ignore blank lines # If we're on the first data line then remember the # array index for each column header # # After the first line process each field corresponding # to a required header # if ($line++ == 0) { my $i; $column{$_} = $i++ foreach @field; } else { foreach (@required) { my $field = $field[$column{$_}]; process ($field) } } } sub process { : } "News.Support.Veritas.Com" <[EMAIL PROTECTED]> wrote in message [EMAIL PROTECTED]">news:[EMAIL PROTECTED]... > Before working with lines in a csv file I would like to check the headers > from the file for accuracy i.e. do the headers I expect exist, and are they > in the right order. > > Alternatively, and even better, I would like to check all headers I require > exist, then for each parsed line extract only extract fileds that match the > respective header values I want. Can anyone guide me in the best direction > to achieve either option. > > Thanks > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]