my $csv = Text::CSV_XS->new; # Or Text::CSV my @hdr = $csv->header ($if, { detect_bom => 1 }); # No need for $csv->column_names, as that is implicit in ->header #### use Text::CSV_XS qw( csv ); my $aoh = csv (in => $dbfile, sep => "\t", bom => 1); #### my $aoh = csv (in => $dbfile, sep => "\t", bom => 1, kh => \my @hdr);