Hi,

Ronen Kfir wrote:

>#!/usr/bin/perl
>
>
>%machines =(user1, 'booboo',
>                    user2, 'puter',
>             user3, 'synta',
>               user4, 'synta');
>
> for $key (keys %machines)
> {
>    $val=$programs{$key}
>    if (!defined $supliers{$val})
>    {
>        $supliers{$val}=1;
>    }
>    else
>    {
>        print "duplicate value: $val\n";
>        print "duplicate value: $val\n";
>
>Cannot understand what is the purpose of $key (keys %machines) ,
>$programs{$key}   and    $supliers{$val} on this script.

łkeys %machines" returns a list of the keys of the %machines hash, in this case

(user1, user 2, user3, user4)

There are two other hashes, %programs and %supliers. Obviously, %pograms should have 
the same set of keys as %machines.

Now, the for loop assigns the value of $programs{$key} to $val and checks of there is 
a value defined for $supliers{$val}. If that is the case, it prints the message 
""duplicate value..." twice (funny idea), otherwise it assigns 1 to $supliers{$val}.

Now if you run this two or more times, you should always get the duplicate value 
message since you defined each $suplier{$val} on the first run.

- Jan
-- 
There's no place like ~/

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to