Use a hash for your smaller array. Something like:
$, = " ";
# just playing with the =>'s
my @gn_score = (
[ name_0 => score_0 => ],
[ name_1 => score_1 => ],
[ name_2 => score_2 => ],
);
my @gn_start_stop_chr = (
[ name_0 => b_0 => e_0 => ],
[ name_1 => b_1 => e_1 => ],
[ name_2 => b_2 => e_2 => ],
[ name_0 => b_30 => e_3 => ],
[ name_2 => b_42=> e_4 => ],
[ name_1 => b_51=> e_5 => ],
);
my %score;
$score{$_->[0]} = $_->[1] for (@gn_score );
for ( @gn_start_stop_chr) {
my ( $name => $begin => $end => ) = @$_;
die unless exists $score{$name};
print $name, # or stash your data somewhere
$score{$name}, $begin, $end, $/;
};