On Thu, Mar 20, 2008 at 11:35 AM, Sharan Basappa
<[EMAIL PROTECTED]> wrote:
> Well here is what I am trying to do.
> I have an array (generated from somewhere) I would like to convert
> this into an associative array and then based on some other input
> I would like to see if an entry exists in the asso array. As you can see
> the value does not really matter. What matters is whether the entry
> exists or not.
> For example (very trivial one)
> I have a list of names that are allowed access to a machine. I create a asso
> array of them. Later when I want to check if the user is allowed to login, I
> check if that user exists or not. Currently I am doing this by making value
> for
> key as 1. But I never really use the value at all.
> Regards
snip
This data structure is called a hash set. Hash sets are easy to make in Perl:
#!/usr/bin/perl
use warnings;
use strict;
my @array = qw<a d f h>;
my %hashset = map { $_ => 1 } @array;
for my $letter ("a" .. "i") {
if (exists $hashset{$letter}) {
print "$letter is in the hash set\n";
} else {
print "$letter is not in the hash set\n";
}
}
a is in the hash set
b is not in the hash set
c is not in the hash set
d is in the hash set
e is not in the hash set
f is in the hash set
g is not in the hash set
h is in the hash set
i is not in the hash set
--
Chas. Owens
wonkden.net
The most important skill a programmer can have is the ability to read.
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/