Re: MSVC build broken with perl 5.10
От | Andrew Dunstan |
---|---|
Тема | Re: MSVC build broken with perl 5.10 |
Дата | |
Msg-id | 4804D7FF.7050601@dunslane.net обсуждение исходный текст |
Ответ на | Re: MSVC build broken with perl 5.10 ("Zeugswetter Andreas OSB SD" <Andreas.Zeugswetter@s-itsolutions.at>) |
Список | 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 по дате отправления: