This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fix Pod::Html for EBCDIC
authorKarl Williamson <khw@cpan.org>
Thu, 28 Dec 2017 04:39:50 +0000 (21:39 -0700)
committerKarl Williamson <khw@cpan.org>
Thu, 28 Dec 2017 04:50:00 +0000 (21:50 -0700)
Commit 38e30ca7507a601c2d84596bc51d88c0f3c516b4 introduced a
non-portable regular expression pattern which breaks the module on
EBCDIC.

Any range whose endpoints aren't both digits, both uppercase or both
lowercase will not work on EBCDIC.  /[^ -~]/ can more legibly and
portably be written as /[[:^print:]]/a, which is what this commit does.

ext/Pod-Html/lib/Pod/Html.pm

index 4927a7c..64cf376 100644 (file)
@@ -2,7 +2,7 @@ package Pod::Html;
 use strict;
 require Exporter;
 
-our $VERSION = 1.23;
+our $VERSION = 1.24;
 our @ISA = qw(Exporter);
 our @EXPORT = qw(pod2html htmlify);
 our @EXPORT_OK = qw(anchorify relativize_url);
@@ -655,7 +655,7 @@ sub html_escape {
     $rest   =~ s/</&lt;/g;
     $rest   =~ s/>/&gt;/g;
     $rest   =~ s/"/&quot;/g;
-    $rest =~ s/([^ -~])/sprintf("&#x%x;", ord($1))/eg;
+    $rest =~ s/([[:^print:]])/sprintf("&#x%x;", ord($1))/aeg;
     return $rest;
 }