On 03/27/2017 08:58 PM, Tom Lane wrote: > I wrote: >> Peter Eisentraut <pete...@gmx.net> writes: >>> Clean up Perl code according to perlcritic >> This seems to have broken the regression tests (specifically, dblink) >> on at least some of the Windows buildfarm critters. > I'm hardly a Perl expert, but it looks to me like the culprit is this > hunk in vcregress.pl: > > @@ -521,8 +521,9 @@ sub fetchRegressOpts > # an unhandled variable reference. Ignore anything that isn't > an > # option starting with "--". > @opts = grep { > - s/\Q$(top_builddir)\E/\"$topdir\"/; > - $_ !~ /\$\(/ && $_ =~ /^--/ > + my $x = $_; > + $x =~ s/\Q$(top_builddir)\E/\"$topdir\"/; > + $x !~ /\$\(/ && $x =~ /^--/ > } split(/\s+/, $1); > } > if ($m =~ /^\s*ENCODING\s*=\s*(\S+)/m) > > The first line in that block is actually intending to modify the value > it's inspecting, and perlcritic's "improved" version carefully removes > the side-effect. > > No doubt there are cleaner ways to do that (the comments in "man perlfunc" > about this coding technique are not positive), but this way is not > cleaner, it is broken. > >
I would try something like this: @opts = grep { $_ !~ /\$\(/ && $_ =~ /^--/ } map { s/\Q$(top_builddir)\E/\"$topdir\"/; } split(/\s+/, $1); but I don't have time to test it before I leave for pgconfUS. cheers andrew -- Andrew Dunstan https://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers