#!/usr/local/bin/perl use Benchmark; for (1.. 100000) { $rand = rand * 100; push @rvs, $rand; $last = $rand; } $array[0] = $rand; timethese ( 100, {grepit => \&grepit, hashit => \&hashit}); sub grepit { return 1 if (grep /$array[0]/, @rvs); } sub hashit { @hash{@rvs} = (1) x @rvs; return 1 if ($hash{$array[0]}); }