On Sat, Sep 16, 2023 at 6:00 PM Alexander Lakhin <exclusion@gmail.com> wrote:
> It looks like the construction "@{^CAPTURE}" used in scan_server_header()
> is not supported by Perl 5.24, which is included in Debian stretch:
> https://perldoc.perl.org/variables/@%7B%5ECAPTURE%7D
> I replaced it with
> @match = ($1);
> and that worked for me.
Thanks for catching that! I see that %{^CAPTURE} was added to Perl
5.25.7, but we document Perl 5.14 or later as the requirement
currently, and for REL_12_STABLE it's Perl 5.8.3. That would
certainly have turned a few build farm fossils red.
Your replacement only returns the first captured group. I don't know
Perl, but I think we can just assign the whole array to @match
directly, to maintain the semantics that Michael wanted, like so:
- if ($line =~ /^$regexp/)
+ if (@match = $line =~ /^$regexp/)
{
- # Found match, so store all the results.
- @match = @{^CAPTURE};
last;
}
Better Perl welcome.
Looking into your observation about wal_log_hints...