Re: MSVC build broken with perl 5.10 - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: MSVC build broken with perl 5.10
Date
Msg-id 4804D7FF.7050601@dunslane.net
Whole thread Raw
In response to Re: MSVC build broken with perl 5.10  ("Zeugswetter Andreas OSB SD" <Andreas.Zeugswetter@s-itsolutions.at>)
List pgsql-hackers

Zeugswetter Andreas OSB SD wrote:
> Magnus Hagander wrote:
>
>> I just tried the MSVC build on a system with ActiveState Perl 5.10,
>>
> and
>
>> it doesn't work. Some quick debugging before I downgraded to 5.8
>>
> showed
>
>> that this regexp in Project.pm line 262:
>>     my $replace_re = qr{^([^:\n\$]+\.c)\s*:\s*(?:%\s*:
>>
> )?\$(\([^\)]+\))\/(.*)\/[^\/]+$};
>
>> matches things properly using Perl 5.8 in for example
>> src/bin/initdb/Makefile (matches a total of around 10 Makefiles), but
>> in 5.10 it simply does not match anything...
>>
>> Any perl guru out there who can comment on why? ;-)
>>
>
> The answer is actually simple, the \n needs the multiline modifier,
> and thus the m needs to be part of the quote-like operator.
>
> The perl doc states:
>     "This operator quotes (and possibly compiles) its STRING"
> (it seems 5.8 did not compile, but 5.10 does)
>
> I feel that it is rather not a perl bug, and that the modifiers need to
> be put
> on the qr{}. I do not quite see why this re needs to be multiline in the
> first place,
> but I have not touched that in the attached patch, that is ready to
> apply.
> (modification works in perl 5.6, 5.8, 5.10)
>
>


Thanks, that makes sense. I wonder how it ever worked before. Anyway,
patch applied back as far as 8.2.

cheers

andrew

pgsql-hackers by date:

Previous
From: Richard Huxton
Date:
Subject: Re: Problem with site doc search
Next
From: Peter Eisentraut
Date:
Subject: Re: Commit fest queue