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/