On Wed, 30 Mar 2005 15:53:25 -0700, Michael Gale wrote:
> 
> But it is not working as expected, even if the array has the first three
> entries the same, the function "show_host" gets called three time ?
> 
>  foreach $each_server(@servers)
>                 {
>                         unless ($seen{$each_server}) {
>                                 $seen{$each_server} = 1;
>                         show_host($each_server);
>                         }
>                 }
> 

The code is okay. Try just the following in a standalone file:
########## begin code
use strict;
use warnings;
my @servers = qw/a a a b c d/;
my %seen;
foreach my $each_server(@servers) {
   unless ($seen{$each_server}) {
      $seen{$each_server} = 1;
      show_host($each_server);
   }
}
sub show_host {
   print "$_[0]\n";
}
########## end code
If you run it, you will see it just prints "a" once, not 3 times.
So the problem is in some other code you are not showing us.
-- 
Offer Kaye

-- 
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