Can you throw some light on this statement:
my %hashset = map { $_ => 1 } @array;

On Thu, Mar 20, 2008 at 9:14 PM, Chas. Owens <[EMAIL PROTECTED]> wrote:
> 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/


Reply via email to