my @one = qw( 1 3 5 7 9 11 13 15 17 19 21 23 ); my @two = qw( 1 5 9 13 17 21 ); my %valid; @valid{@one} = (1) x @one; @valid{@two} = (0) x @two; my @choices = keys %valid; sub randelt { $choices[rand @choices] }