Change find_config function to read_config. It now finds the config, reads the config into an array, and returns the array. This makes it a little cleaner and changes the open to use perl's 3 option open.
Showing the changes to scripts (1 of 1 file). Show all
Unified · Split
| @@ -100,7 +100,7 @@ my @searchconfigs = ( · 99 unmodified lines | ||
| 100 | 100 | }, |
| 101 | 101 | ); |
| 102 | 102 | |
| 103 | −sub find_config { | |
| 103 | +sub read_config { | |
| 104 | 104 | foreach my $conf (@searchconfigs) { |
| 105 | 105 | my $file = $conf->{"file"}; |
| 106 | 106 | |
| @@ -115,17 +115,15 @@ sub find_config { · 8 unmodified lines | ||
| 115 | 115 | |
| 116 | 116 | print STDERR "using config: '$file'\n"; |
| 117 | 117 | |
| 118 | − open(CIN, "$exec $file |") || die "Failed to run $exec $file"; | |
| 119 | − return; | |
| 118 | + open(my $infile, '-|', "$exec $file") || die "Failed to run $exec $file"; | |
| 119 | + my @x = <$infile>; | |
| 120 | + close $infile; | |
| 121 | + return @x; | |
| 120 | 122 | } |
| 121 | 123 | die "No config file found"; |
| 122 | 124 | } |
| 123 | 125 | |
| 124 | −find_config; | |
| 125 | − | |
| 126 | −# Read in the entire config file into config_file | |
| 127 | −my @config_file = <CIN>; | |
| 128 | −close CIN; | |
| 126 | +my @config_file = read_config; | |
| 129 | 127 | |
| 130 | 128 | # Parse options |
| 131 | 129 | my $localmodconfig = 0; |