Perl cleanup: don't create lists unnecessarily
authorRichard Levitte <levitte@openssl.org>
Wed, 6 Apr 2016 13:02:57 +0000 (15:02 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 6 Apr 2016 13:21:27 +0000 (15:21 +0200)
Reviewed-by: Rich Salz <rsalz@openssl.org>
Configurations/common.tmpl
Configure

index 9c80070..f5c3920 100644 (file)
                                          @{$unified_info{shared_sources}->{$lib}}) ],
                               deps => [ reducedepends(resolvedepends($lib)) ],
                               %ordinals);
-         map { doobj($_, $lib, intent => "lib") } @{$unified_info{shared_sources}->{$lib}};
+         foreach (@{$unified_info{shared_sources}->{$lib}}) {
+             doobj($_, $lib, intent => "lib");
+         }
      }
      $OUT .= obj2lib(lib => $lib,
                      objs => [ map { (my $x = $_) =~ s|\.o$||; $x }
                                @{$unified_info{sources}->{$lib}} ]);
-     map { doobj($_, $lib, intent => "lib") } @{$unified_info{sources}->{$lib}};
+     foreach (@{$unified_info{sources}->{$lib}}) {
+         doobj($_, $lib, intent => "lib");
+     }
      $cache{$lib} = 1;
  }
 
                                (@{$unified_info{sources}->{$lib}},
                                 @{$unified_info{shared_sources}->{$lib}}) ],
                      deps => [ resolvedepends($lib) ]);
-     map { doobj($_, $lib, intent => "dso") } (@{$unified_info{sources}->{$lib}},
-                                               @{$unified_info{shared_sources}->{$lib}});
+     foreach ((@{$unified_info{sources}->{$lib}},
+               @{$unified_info{shared_sources}->{$lib}})) {
+         doobj($_, $lib, intent => "dso");
+     }
      $cache{$lib} = 1;
  }
 
                      objs => [ map { (my $x = $_) =~ s|\.o$||; $x }
                                @{$unified_info{sources}->{$bin}} ],
                      deps => $deps);
-     map { doobj($_, $bin, intent => "bin") } @{$unified_info{sources}->{$bin}};
+     foreach (@{$unified_info{sources}->{$bin}}) {
+         doobj($_, $bin, intent => "bin");
+     }
      $cache{$bin} = 1;
  }
 
 
  # Build all known libraries, engines, programs and scripts.
  # Everything else will be handled as a consequence.
map { dolib($_) } @{$unified_info{libraries}};
map { doengine($_) } @{$unified_info{engines}};
map { dobin($_) } @{$unified_info{programs}};
map { doscript($_) } @{$unified_info{scripts}};
dolib($_)     foreach @{$unified_info{libraries}};
doengine($_)  foreach @{$unified_info{engines}};
dobin($_)     foreach @{$unified_info{programs}};
doscript($_)  foreach @{$unified_info{scripts}};
 
  # Finally, should there be any applicable BEGINRAW/ENDRAW sections,
  # they are added here.
- $OUT .= $_."\n" foreach(@{$unified_info{rawlines}});
+ $OUT .= $_."\n" foreach @{$unified_info{rawlines}};
 -}
index c1b63e8..ef5ff9f 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -743,9 +743,9 @@ while (@tocheckfor) {
     while (@cascade_copy) {
        my ($test, $descendents) = (shift @cascade_copy, shift @cascade_copy);
        if (ref($test) eq "CODE" ? $test->() : defined($disabled{$test})) {
-           map {
+           foreach(grep { !defined($disabled{$_}) } @$descendents) {
                $new_tocheckfor{$_} = 1; $disabled{$_} = "forced";
-           } grep { !defined($disabled{$_}) } @$descendents;
+           }
        }
     }
     @tocheckfor = (keys %new_tocheckfor);
@@ -2128,12 +2128,12 @@ sub resolve_config {
            # the config that had it.
            delete $inherited_config{template};
 
-           map {
+           foreach (keys %inherited_config) {
                if (!$combined_inheritance{$_}) {
                    $combined_inheritance{$_} = [];
                }
                push @{$combined_inheritance{$_}}, $inherited_config{$_};
-           } keys %inherited_config;
+           }
        }
     }
 
@@ -2415,7 +2415,7 @@ sub quotify {
     my $processor =
        defined($processors{$for}) ? $processors{$for} : sub { shift; };
 
-    map { $processor->($_); } @_;
+    return map { $processor->($_); } @_;
 }
 
 # collect_from_file($filename, $line_concat_cond_re, $line_concat)