my @desired_fields = (1, 3, 5 .. 7, 9); my @field_names = qw(A B C D E F); my %stuff; while () { chomp; @stuff(@field_names} = (split /\t/, $_)[@desired_fields]; }