Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re: Looping through arrays : are they equal ?

by Util (Priest)
on Apr 21, 2011 at 19:24 UTC ( [id://900698]=note: print w/replies, xml ) Need Help??


in reply to Looping through arrays : are they equal ?

This code provides details of where the problem occurs:

my %comp = ( 'Ad1' => [ qw( 0A78 0A9E 0AB9 0AC0 ) ], 'Ad2' => [ qw( 0A78 0A9E 0AB9 0AC0 ) ], ); my %device; my @locations = sort keys %comp; for my $location (@locations) { for my $dev_name ( @{ $comp{$location} } ) { $device{$dev_name}{$location}++; } } my $expected_locations = join ',', @locations; for my $dev_name ( sort keys %device ) { my $actual_locations = join ',', sort keys %{$device{$dev_name}}; next if $expected_locations eq $actual_locations; print "ERR: '$dev_name' only found in '$actual_locations'\n"; }
By the way, if ( scalar keys %comp > 1 ) {...} can be reduced to if (%comp) {...}.

Replies are listed 'Best First'.
Re^2: Looping through arrays : are they equal ?
by Util (Priest) on Apr 21, 2011 at 19:26 UTC
    Correction, the `if` could be reduced if `>= 1`, but not as is.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://900698]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2024-04-19 06:50 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found