#!/usr/bin/perl -w use strict; use vars qw(@array); @array = qw(a b c d e f g h i j k l m n o p q r s t u v w x y z); use vars qw($test); if ($ARGV[0] eq "1") { $test = sub { print "Found!\n" if index("@array", $_[0]) > 1; } } elsif ($ARGV[0] eq "2") { $test = sub { print "Found!\n" if grep { $_ eq $_[0] } @array; } } else { die "Usage: $0 1|2\n"; } for(my $i=0;$i<1_000_000;$i++) { &$test(chr(ord('m') + ($i % 26))); }
$ time perl ~/tmp/t5 1 |wc -l 538468 real 0m13.711s user 0m12.000s sys 0m0.020s $ time perl ~/tmp/t5 2 |wc -l 538468 real 0m19.380s user 0m19.330s sys 0m0.050s
In reply to Re: Is X in my array?
by sgifford
in thread Is X in my array?
by Not_a_Number
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |