summaryrefslogtreecommitdiff
path: root/Porting/bump-perl-version
diff options
context:
space:
mode:
authorLeon Brocard <acme@astray.com>2011-07-07 10:28:29 +0100
committerLeon Brocard <acme@astray.com>2011-07-07 10:28:29 +0100
commit582c9380b28d7fb3a563d5296d13c8325dd83a06 (patch)
tree34fc9839f99c875652e3b1abd13d5d0fd7205f39 /Porting/bump-perl-version
parent2db249d3d6f61a44bb2e6dd90d24085003da650c (diff)
downloadperl-582c9380b28d7fb3a563d5296d13c8325dd83a06.tar.gz
Make Porting/bump-perl-version do multiple substitutions per line
Diffstat (limited to 'Porting/bump-perl-version')
-rw-r--r--Porting/bump-perl-version36
1 files changed, 20 insertions, 16 deletions
diff --git a/Porting/bump-perl-version b/Porting/bump-perl-version
index 63cb5aed45..0939b5a449 100644
--- a/Porting/bump-perl-version
+++ b/Porting/bump-perl-version
@@ -194,6 +194,14 @@ my @maps = (
qr/uconfig/,
],
+ # rename perl-5^.15^.1.dirperl-5_15_1.dir in README.vms
+ [
+ qr{\sperl-(\d+)_(\d+)_(\d+)\.dir}x,
+ sub { warn "got $& - perl-${1}_${2}_${3}.dir -> perl-${newx}_${newy}_${newz}.dir"; " perl-${1}_${2}_${3}.dir", " perl-${newx}_${newy}_${newz}.dir" },
+ " perl-${oldx}_${oldy}_{$oldz}.dir",
+ qr/README.vms/,
+ ],
+
);
@@ -250,35 +258,31 @@ sub do_scan {
my $file_changed = 0;
my $new_contents = '';
- while (<$fh>) {
- my $line_changed;
+ while (my $line = <$fh>) {
+ my $oldline = $line;
for my $map (@maps) {
my ($pat, $sub, $expected, $file_pat) = @$map;
next if defined $file_pat and $file !~ $file_pat;
- next unless $_ =~ $pat;
+ next unless $line =~ $pat;
my ($got, $replacement) = $sub->();
if ($opts{c}) {
# only report unexpected
next unless defined $expected and $got ne $expected;
}
- my $newstr = $_;
- $newstr =~ s/$pat/$replacement/
+ $line =~ s/$pat/$replacement/
or die "Internal error: substitution failed: [$pat]\n";
- $new_contents .= $newstr if $opts{i};
- if ($_ ne $newstr) {
- $file_changed = 1;
- $line_changed = 1;
- if ($opts{s}) {
- print "\n$file\n" unless $header;
- $header=1;
- printf "\n%5d: -%s +%s", $., $_, $newstr;
- }
+ }
+ $new_contents .= $line if $opts{i};
+ if ($line ne $oldline) {
+ $file_changed = 1;
+ if ($opts{s}) {
+ print "\n$file\n" unless $header;
+ $header=1;
+ printf "\n%5d: -%s +%s", $., $oldline, $line;
}
- last;
}
- $new_contents .= $_ if $opts{i} && !$line_changed ;
}
if ($opts{i} && $file_changed) {
warn "Updating $file inplace\n";