Should use warnings for you have @exculde; which is not what you loaded data with.
Wags ;) -----Original Message----- From: Paul Kraus [mailto:[EMAIL PROTECTED]] Sent: Friday, December 13, 2002 08:07 To: 'Bob Showalter'; 'Perl' Subject: RE: Conditional Array lookup I don't think I understand this. per perldoc and your instruction this should work. my @exclude = qw /du huh . ../; %exclude = map {$_=>1} @exculde; print "$_\n" foreach (@exclude); # Prints array print "$k $v\n" while (($k,$v) = each %exclude); #prints nothing. Paul > -----Original Message----- > From: Bob Showalter [mailto:[EMAIL PROTECTED]] > Sent: Friday, December 13, 2002 10:44 AM > To: 'Paul Kraus'; 'Perl' > Subject: RE: Conditional Array lookup > > > > -----Original Message----- > > From: Paul Kraus [mailto:[EMAIL PROTECTED]] > > Sent: Friday, December 13, 2002 10:19 AM > > To: 'Perl' > > Subject: Conditional Array lookup > > > > > > Is there a way to do an if or unless against an entire array. > > > > @exclude = .... > > > > #compare $soomevaraible to every element of @exclude. > > unless ($somevariable eq @exclude){ > > ... > > } > > The FAQ addresses this: > > perldoc -q 'How can I tell whether a list or array > contains a certain element?' > > From your example, it sounds like @exclude is a list of > things you want to test against repeatedly. If so, turn > @exclude into a hash: > > %exclude = map { $_=>1 } @exclude; > > Now you can test quickly: > > unless (exists $exclude{$somevar}) { > print "$somevar is OK\n"; > } > > If you only need to check once, grep() is ok: > > unless (grep { $_ eq $somevar } @exclude) { > print "$somevar is OK\n"; > } > > But don't do that repeatedly; use the hash instead. > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] ********************************************************** This message contains information that is confidential and proprietary to FedEx Freight or its affiliates. It is intended only for the recipient named and for the express purpose(s) described therein. Any other use is prohibited. **************************************************************** -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]