summaryrefslogtreecommitdiffstats
path: root/extensions/Example
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2012-12-19 23:52:54 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2012-12-19 23:52:54 +0100
commitfc18ef1ad344a14174332cd04a04d8182ab85d4b (patch)
tree188e58195ba9c9e762cab8fedaccf2e9761cbc56 /extensions/Example
parent5e0d6380ebe8dd26eca2c1bc57011459b30e8776 (diff)
downloadbugzilla-fc18ef1ad344a14174332cd04a04d8182ab85d4b.tar.gz
bugzilla-fc18ef1ad344a14174332cd04a04d8182ab85d4b.tar.xz
Bug 818621: Perl 5.16 complains with "Variable length lookbehind not implemented in regex" when the Example extension is enabled
r=dkl a=LpSolit
Diffstat (limited to 'extensions/Example')
-rw-r--r--extensions/Example/Extension.pm8
1 files changed, 7 insertions, 1 deletions
diff --git a/extensions/Example/Extension.pm b/extensions/Example/Extension.pm
index 885a8e8ff..c0b3c6210 100644
--- a/extensions/Example/Extension.pm
+++ b/extensions/Example/Extension.pm
@@ -371,7 +371,13 @@ sub error_catch {
my $new_error_msg = "Ah ah, you tried to access $page_id? Good try!";
$new_error_msg = html_quote($new_error_msg);
# There are better tools to parse an HTML page, but it's just an example.
- $$page =~ s/(?<=<td id="error_msg" class="throw_error">).*(?=<\/td>)/$new_error_msg/si;
+ # Since Perl 5.16, we can no longer write "class" inside look-behind
+ # assertions, because "ss" is also seen as the german ß character, which
+ # makes Perl 5.16 complain. The right fix is to use the /aa modifier,
+ # but it's only understood since Perl 5.14. So the workaround is to write
+ # "clas[s]" instead of "class". Stupid and ugly hack, but it works with
+ # all Perl versions.
+ $$page =~ s/(?<=<td id="error_msg" clas[s]="throw_error">).*(?=<\/td>)/$new_error_msg/si;
}
sub flag_end_of_update {