Transforming your "lookup" array into a set of hash keys is one widely used way of doing this.
#! /usr/bin/perl use strict ; use warnings ; my @first = qw( 1 3 5 7 9 11 13 15 17 19 21 23 ) ; my @second = qw( 1 5 9 13 17 21 ) ; ## Turn the second array into hash keys. my %hash = map { $_ => 1 } @second ; my $rand_el = $first[ int rand @first ] ; print $rand_el . ( $hash{$rand_el} ? ' is ' : ' is not ' ) . 'in the second array.' . "\n" ; exit ;
Those who know that they are profound strive for clarity. Those who
would like to seem profound to the crowd strive for obscurity.
--Friedrich Nietzsche
In reply to Re: Choosing a random product from an Array
by DamnDirtyApe
in thread Choosing a random product from an Array
by krisraman
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |