| Next | Program Repair Shop | 46 | 
I got the idea that maybe this would be better written with each
So I tried writing the code both ways:
The original:
     foreach $filesz (keys %names_by_size)
     {
         my $num_files_this_size = scalar (@{$names_by_size{$filesz}});
         if ($num_files_this_size < 2)
         {
             delete $names_by_size{$filesz};
         }
         else
         {
             $filecount += $num_files_this_size;
         }
     }
With each:
     while (my ($filesz, $files_this_size) = each %names_by_size)
     {
         if (@$files_this_size < 2)
         {
             delete $names_by_size{$filesz};
         }
         else
         {
             $filecount += @$files_this_size;
         }
     }
Which do you prefer?
| Next | ![]()  | 
    Copyright © 2006 M. J. Dominus |