Skip to content

Fix Example extension for Perl 5.30#108

Open
gdsotirov wants to merge 2 commits into
bugzilla:5.2from
gdsotirov:perl530
Open

Fix Example extension for Perl 5.30#108
gdsotirov wants to merge 2 commits into
bugzilla:5.2from
gdsotirov:perl530

Conversation

@gdsotirov

Copy link
Copy Markdown
Contributor

With Perl 5.30 and later there is a warning that variable length lookbehind is experimental when Example extension is enabled:

Variable length lookbehind is experimental in regex; marked by <-- HERE in m/(?<=<td id="error_msg" clas[s]="throw_error">).*(?=</td>) <-- HERE / at ./extensions/Example/Extension.pm line 499.

So modify regular expression to use \K - the special form of positive lookbehind that "effectively provides non-experimental variable-length lookbehind of any length". See Lookaround Assertions.

Also match text between tags using non-greedy ? modifier as otherwise everything until the final closing div is replaced and thus error page appears broken.

Also change tag in regular expression from td to div as the templates were modified a long time ago.

With Perl 5.30 and later there is a warning that variable length lookbehind
is experimental:

Variable length lookbehind is experimental in regex; marked by <-- HERE in m/(?<=<td id="error_msg" clas[s]="throw_error">).*(?=</td>) <-- HERE / at ./extensions/Example/Extension.pm line 499.

So modify regular expression to use \K - the special form of positive
lookbehind that "effectively provides non-experimental variable-length
lookbehind of any length".

Also match text between tags using non-greedy ? modifier as otherwise
everything until the final closing div is replaced and thus error page
appears broken.

See https://perldoc.perl.org/perlre#Lookaround-Assertions
justdave pushed a commit to justdave/bugzilla that referenced this pull request May 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant