Random_Walk has asked for the wisdom of the Perl Monks concerning the following question:

Which construct is preferred, and why?

# I am looking for hosts that appear in all of a set of SQL tables. # I keep a table count and increment the count for a host for each tab +le in # which it occurs. # Then I clean out those that were not in all tables. # Faked data my %hosts = ( a => 3, b => 3, c => 4, d => 3, e => 2, f => 3, g => 3, ); my $table_count = 3; # This: do {delete $hosts{$_} unless $hosts{$_} == $table_count} for keys %hos +ts; # or This: map {delete $hosts{$_} unless $hosts{$_} == $table_count} keys %hosts;
Or is there a better way to do it?


Pereant, qui ante nos nostra dixerunt!