1 |
package ConfigPatcher::Main; |
2 |
|
3 |
require Exporter; |
4 |
@ISA = qw(Exporter); |
5 |
|
6 |
@EXPORT = qw(preparePatches); |
7 |
|
8 |
use strict; |
9 |
use warnings; |
10 |
|
11 |
my %vhost; |
12 |
|
13 |
use ConfigPatcher::Config; |
14 |
use ConfigPatcher::Handlers; |
15 |
|
16 |
sub preparePatches { |
17 |
my $patchfile = shift; |
18 |
my $patchTarget = shift; |
19 |
ConfigPatcher::Config::readConfig($patchfile); |
20 |
my %cfg_patcher = %ConfigPatcher::Config::cfg_patcher; |
21 |
|
22 |
my @files = keys %cfg_patcher; |
23 |
foreach my $file (@files) { |
24 |
my $handler = $cfg_patcher{$file}; |
25 |
my $pt = $patchTarget . $file; |
26 |
print "\n", "patching file \"$pt\" ..."; |
27 |
#print "patching file by "; |
28 |
my $eval = "ConfigPatcher::Handlers::$handler('$pt');"; |
29 |
#print "executing handler $eval ..."; |
30 |
my $res = eval($eval); |
31 |
# error in eval? |
32 |
if ($@ || !$res) { |
33 |
print "failed: $@"; |
34 |
} else { |
35 |
print "ok"; |
36 |
} |
37 |
} |
38 |
|
39 |
} |
40 |
|
41 |
1; |
42 |
|