#!/usr/bin/perl -w
######################################################################
# benchtest.pl
######################################################################
# Perl Power! - Michael Schilli 1998
######################################################################

use Benchmark;

foreach $i (1..1000) {        # generate test data
    $element = "Value$i";
    $first   = $element unless defined $first;
    $last    = $element;
    push(@array, $element);
}

$noftimes  = 100;

timethese($noftimes, {"grep first" => sub { grepit($first) },
                      "grep last"  => sub { grepit($last) },
                      "loop first" => sub { loopoverit($first) },
                      "loop last"  => sub { loopoverit($last) } 
                     });

######################################################################
sub grepit {
######################################################################
    my $searchfor = shift;

    grep { $_ eq $searchfor } @array;
}

######################################################################
sub loopoverit {
######################################################################
    my $searchfor = shift;

    foreach $val (@array) {
        return 1 if $val eq $searchfor;
    }
    return 0;
}

