use FieldStorage; # Some stuff here my @fieldNames = grep { isRequired($_) } getFieldNames; my @fieldIndices = getFieldIndices(@fieldNames); my %records; @records{@fieldNames} = (split(/\t/, $_))[@fieldIndices];