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 | foreach my $conf (@searchconfigs) { | 104 | foreach my $conf (@searchconfigs) { |
| 105 | my $file = $conf->{"file"}; | 105 | my $file = $conf->{"file"}; |
| 106 | 106 | ||
| @@ -115,17 +115,15 @@ sub find_config { · 8 unmodified lines | |||
| 115 | 115 | ||
| 116 | print STDERR "using config: '$file'\n"; | 116 | print STDERR "using config: '$file'\n"; |
| 117 | 117 | ||
| 118 | open(CIN, "$exec $file |") || die "Failed to run $exec $file"; | 118 | open(my $infile, '-|', "$exec $file") || die "Failed to run $exec $file"; |
| 119 | return; | 119 | my @x = <$infile>; |
| 120 | close $infile; | ||
| 121 | return @x; | ||
| 120 | } | 122 | } |
| 121 | die "No config file found"; | 123 | die "No config file found"; |
| 122 | } | 124 | } |
| 123 | 125 | ||
| 124 | find_config; | 126 | my @config_file = read_config; |
| 125 | |||
| 126 | # Read in the entire config file into config_file | ||
| 127 | my @config_file = <CIN>; | ||
| 128 | close CIN; | ||
| 129 | 127 | ||
| 130 | # Parse options | 128 | # Parse options |
| 131 | my $localmodconfig = 0; | 129 | my $localmodconfig = 0; |