... | ... |
@@ -0,0 +1,48 @@ |
1 |
+use strict; |
|
2 |
+use warnings; |
|
3 |
+ |
|
4 |
+use FindBin; |
|
5 |
+use File::Basename qw/basename fileparse/; |
|
6 |
+use File::Copy 'copy'; |
|
7 |
+ |
|
8 |
+my $top = $FindBin::Bin; |
|
9 |
+my $common = "$top/common"; |
|
10 |
+my $common_fullqualified = "$top/common_fullqualified"; |
|
11 |
+mkdir $common_fullqualified unless -d $common_fullqualified; |
|
12 |
+ |
|
13 |
+my @modules = grep { -f $_ } glob("$common/*"); |
|
14 |
+for my $module (@modules) { |
|
15 |
+ my $module_base = basename $module; |
|
16 |
+ copy $module, "$common_fullqualified/$module_base" |
|
17 |
+ or die "Can't move module file: $!"; |
|
18 |
+} |
|
19 |
+ |
|
20 |
+my @dirs = grep { -d $_ } glob("$FindBin::Bin/common/*"); |
|
21 |
+for my $dir (@dirs) { |
|
22 |
+ my $base_dir = basename $dir; |
|
23 |
+ my $model_dir_fullqualified = "$common_fullqualified/$base_dir"; |
|
24 |
+ mkdir $model_dir_fullqualified unless -d $model_dir_fullqualified; |
|
25 |
+ |
|
26 |
+ my @files = grep { /table\d\.pm/ } glob("$dir/*"); |
|
27 |
+ for my $file (@files) { |
|
28 |
+ |
|
29 |
+ my $content = do { |
|
30 |
+ open my $fh, '<', $file; |
|
31 |
+ local $/; |
|
32 |
+ <$fh>; |
|
33 |
+ }; |
|
34 |
+ |
|
35 |
+ $content =~ s/table(\d)/TABLE$1/g; |
|
36 |
+ $content =~ s/TABLE2_alias/TABLE2_ALIAS/g; |
|
37 |
+ $content =~ s/key(\d)/KEY$1/g; |
|
38 |
+ |
|
39 |
+ my $base_name = (fileparse($file, qr/\..+$/))[0]; |
|
40 |
+ $base_name = uc $base_name; |
|
41 |
+ my $new_file = "$common_fullqualified/$base_dir/$base_name.pm"; |
|
42 |
+ |
|
43 |
+ open my $fh, '>', $new_file |
|
44 |
+ or die "Can't write file: $!"; |
|
45 |
+ |
|
46 |
+ print $fh $content; |
|
47 |
+ } |
|
48 |
+} |