in reply to terrible code about array matching...

I'm not exactly sure what you're trying to do but if you're only trying to validate parameters, something like the following would work:
use strict; use warnings; my %valid = ( peace => 0, child => 1, free => 2, love => 3, enjoy => 4 ); my @test = qw(freely enjoy love); my @parms; for my $test (@test) { if (exists $valid{$test}) { push (@parms, $test); } else { print "\n\nSkipping bad argument '$test'!!!\n\n"; } } print "\n\nValid parms:\n"; print " ", pack('A8',$_), ": position: $valid{$_}\n" for @parms;
Update: After rereading a few times, I realize that the poster needs what chromatic suggested. /me finishes coffee before responding to anymore posts.