use warnings;
use Fatal;
+use Cwd qw/cwd/;
use List::Util qw/max/;
+use File::Copy qw/copy/;
use constant PORTAGE => '/usr/portage';
+use constant TARGET => 'lib/CPANPLUS/Dist/Gentoo/Maps.pm';
+use constant BACKUP => TARGET . '.bak';
my %gentooism;
'PDF-Create' => 0,
);
+my $cwd = cwd();
+
for my $category (qw/perl-core dev-perl/) {
my $dir = PORTAGE . '/' . $category;
chdir $dir;
}
}
+chdir $cwd;
+
+copy TARGET, BACKUP or die "copy failed: $!";
+
+open my $src, '<', BACKUP;
+open my $dst, '>', TARGET;
+
my $max = max map length, keys %gentooism;
+SRC: while (<$src>) {
+ print $dst $_;
+ if (/^__DATA__$/) {
+ printf $dst "%s%s %s\n", $_, (' ' x ($max - length)), $gentooism{$_}
+ for sort keys %gentooism;
+ last SRC;
+ }
+}
+
print STDERR +(keys %gentooism) . " gentooisms found\n";
-print "our %gentooism = (\n";
-printf " '%s'%s => '%s',\n", $_, (' ' x ($max - length)), $gentooism{$_}
- for sort keys %gentooism;
-print ");\n";