diff --git a/dev/import-perl5/config.yaml b/dev/import-perl5/config.yaml
index 01158cb4e..39a7619d0 100644
--- a/dev/import-perl5/config.yaml
+++ b/dev/import-perl5/config.yaml
@@ -219,6 +219,7 @@ imports:
# From core library
- source: perl5/lib/_charnames.pm
target: src/main/perl/lib/_charnames.pm
+ patch: _charnames.pm.patch
# From core library
- source: perl5/lib/charnames.pm
diff --git a/dev/import-perl5/patches/_charnames.pm.patch b/dev/import-perl5/patches/_charnames.pm.patch
new file mode 100644
index 000000000..a7e682e0f
--- /dev/null
+++ b/dev/import-perl5/patches/_charnames.pm.patch
@@ -0,0 +1,32 @@
+--- perl5/lib/_charnames.pm 2025-12-11 14:13:49
++++ src/main/perl/lib/_charnames.pm 2026-04-08 09:40:13
+@@ -137,6 +137,12 @@
+ return if $txt;
+
+ $txt = do "unicore/Name.pl";
++ if (!defined $txt || $txt eq '') {
++ # unicore/Name.pl not available (e.g. on PerlOnJava);
++ # set $txt to a truthy placeholder so we don't retry and crash.
++ # viacode() will fall back to _java_viacode() for name lookups.
++ $txt = "# unavailable\n";
++ }
+ Internals::SvREADONLY($txt, 1);
+ }
+
+@@ -805,6 +811,16 @@
+ if (defined $algorithmic) {
+ $viacode{$hex} = $algorithmic;
+ return $algorithmic;
++ }
++
++ # Try Java-backed ICU4J name lookup if available (PerlOnJava).
++ # This provides complete Unicode name data without needing unicore/Name.pl.
++ if (defined &_java_viacode) {
++ my $java_name = _java_viacode(CORE::hex $hex);
++ if (defined $java_name && $java_name ne '') {
++ $viacode{$hex} = $java_name;
++ return $java_name;
++ }
+ }
+
+ # Return the official name, if exists. It's unclear to me (khw) at
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index da3999446..72df373f2 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -5,7 +5,7 @@ fastjson2 = "2.0.61"
icu4j = "78.3"
junit-jupiter = "6.1.0-M1"
snakeyaml-engine = "3.0.1"
-sqlite-jdbc = "3.49.1.0"
+sqlite-jdbc = "3.51.3.0"
tomlj = "1.1.1"
[libraries]
diff --git a/pom.xml b/pom.xml
index 30c61935d..7b650ed9d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -73,7 +73,7 @@
org.xerial
sqlite-jdbc
- 3.49.1.0
+ 3.51.3.0
diff --git a/src/main/java/org/perlonjava/core/Configuration.java b/src/main/java/org/perlonjava/core/Configuration.java
index 9b62b8dd1..074716a33 100644
--- a/src/main/java/org/perlonjava/core/Configuration.java
+++ b/src/main/java/org/perlonjava/core/Configuration.java
@@ -33,7 +33,7 @@ public final class Configuration {
* Automatically populated by Gradle/Maven during build.
* DO NOT EDIT MANUALLY - this value is replaced at build time.
*/
- public static final String gitCommitId = "3652e0b19";
+ public static final String gitCommitId = "cc2df66a9";
/**
* Git commit date of the build (ISO format: YYYY-MM-DD).
@@ -48,7 +48,7 @@ public final class Configuration {
* Parsed by App::perlbrew and other tools via: perl -V | grep "Compiled at"
* DO NOT EDIT MANUALLY - this value is replaced at build time.
*/
- public static final String buildTimestamp = "Apr 8 2026 09:23:25";
+ public static final String buildTimestamp = "Apr 8 2026 09:46:56";
// Prevent instantiation
private Configuration() {
diff --git a/src/main/perl/lib/English.pm b/src/main/perl/lib/English.pm
index 283cd0107..a7d8df9c7 100644
--- a/src/main/perl/lib/English.pm
+++ b/src/main/perl/lib/English.pm
@@ -1,6 +1,6 @@
package English;
-our $VERSION = '1.11';
+our $VERSION = '1.12';
require Exporter;
@ISA = qw(Exporter);
@@ -191,8 +191,6 @@ sub import {
# Error status.
*CHILD_ERROR = *? ;
- *OS_ERROR = *! ;
- *ERRNO = *! ;
*OS_ERROR = *! ;
*ERRNO = *! ;
*EXTENDED_OS_ERROR = *^E ;
diff --git a/src/main/perl/lib/Pod/Simple.pm b/src/main/perl/lib/Pod/Simple.pm
index a71cb54d7..ad72126d6 100644
--- a/src/main/perl/lib/Pod/Simple.pm
+++ b/src/main/perl/lib/Pod/Simple.pm
@@ -11,7 +11,7 @@ use Pod::Simple::TiedOutFH;
#use utf8;
our @ISA = ('Pod::Simple::BlackBox');
-our $VERSION = '3.47';
+our $VERSION = '3.48';
our @Known_formatting_codes = qw(I B C L E F S U X Z);
our %Known_formatting_codes = map(($_=>1), @Known_formatting_codes);
diff --git a/src/main/perl/lib/Pod/Simple/BlackBox.pm b/src/main/perl/lib/Pod/Simple/BlackBox.pm
index 7a0ddf079..8e937840a 100644
--- a/src/main/perl/lib/Pod/Simple/BlackBox.pm
+++ b/src/main/perl/lib/Pod/Simple/BlackBox.pm
@@ -22,7 +22,7 @@ use integer; # vroom!
use strict;
use warnings;
use Carp ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
#use constant DEBUG => 7;
sub my_qr ($$) {
diff --git a/src/main/perl/lib/Pod/Simple/Checker.pm b/src/main/perl/lib/Pod/Simple/Checker.pm
index 5a4f490e4..abbaa37e4 100644
--- a/src/main/perl/lib/Pod/Simple/Checker.pm
+++ b/src/main/perl/lib/Pod/Simple/Checker.pm
@@ -8,7 +8,7 @@ use warnings;
use Carp ();
use Pod::Simple::Methody ();
use Pod::Simple ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
our @ISA = ('Pod::Simple::Methody');
BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
? \&Pod::Simple::DEBUG
diff --git a/src/main/perl/lib/Pod/Simple/Debug.pm b/src/main/perl/lib/Pod/Simple/Debug.pm
index 5be7b3002..c1f0e9665 100644
--- a/src/main/perl/lib/Pod/Simple/Debug.pm
+++ b/src/main/perl/lib/Pod/Simple/Debug.pm
@@ -1,6 +1,6 @@
package Pod::Simple::Debug;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
sub import {
my($value,$variable);
diff --git a/src/main/perl/lib/Pod/Simple/DumpAsText.pm b/src/main/perl/lib/Pod/Simple/DumpAsText.pm
index d93ddd99c..20b77bd6d 100644
--- a/src/main/perl/lib/Pod/Simple/DumpAsText.pm
+++ b/src/main/perl/lib/Pod/Simple/DumpAsText.pm
@@ -1,6 +1,6 @@
package Pod::Simple::DumpAsText;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
use Pod::Simple ();
BEGIN { our @ISA = ('Pod::Simple')}
diff --git a/src/main/perl/lib/Pod/Simple/DumpAsXML.pm b/src/main/perl/lib/Pod/Simple/DumpAsXML.pm
index 2df33b724..f3c42f21a 100644
--- a/src/main/perl/lib/Pod/Simple/DumpAsXML.pm
+++ b/src/main/perl/lib/Pod/Simple/DumpAsXML.pm
@@ -1,6 +1,6 @@
package Pod::Simple::DumpAsXML;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
use Pod::Simple ();
BEGIN {our @ISA = ('Pod::Simple')}
diff --git a/src/main/perl/lib/Pod/Simple/HTML.pm b/src/main/perl/lib/Pod/Simple/HTML.pm
index 97cb1d2c4..58d390c9d 100644
--- a/src/main/perl/lib/Pod/Simple/HTML.pm
+++ b/src/main/perl/lib/Pod/Simple/HTML.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Pod::Simple::PullParser ();
our @ISA = ('Pod::Simple::PullParser');
-our $VERSION = '3.47';
+our $VERSION = '3.48';
BEGIN {
if(defined &DEBUG) { } # no-op
elsif( defined &Pod::Simple::DEBUG ) { *DEBUG = \&Pod::Simple::DEBUG }
@@ -798,7 +798,8 @@ sub resolve_man_page_link {
return $self->man_url_prefix . "$section/"
. $self->manpage_url_escape($page) . ".$section"
- . $self->man_url_postfix;
+ . $self->man_url_postfix
+ . (defined $frag ? '#' . $frag : '');
}
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/src/main/perl/lib/Pod/Simple/HTMLBatch.pm b/src/main/perl/lib/Pod/Simple/HTMLBatch.pm
index 8b66fcfb2..e278d4aab 100644
--- a/src/main/perl/lib/Pod/Simple/HTMLBatch.pm
+++ b/src/main/perl/lib/Pod/Simple/HTMLBatch.pm
@@ -1,6 +1,6 @@
package Pod::Simple::HTMLBatch;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
our @ISA = (); # Yup, we're NOT a subclass of Pod::Simple::HTML!
# TODO: nocontents stylesheets. Strike some of the color variations?
@@ -717,12 +717,13 @@ sub _gen_css_wad {
}
# Now a few indexless variations:
- for (my ($outfile, $variation) = each %{{
+ my %variations = (
blkbluw => 'black_with_blue_on_white',
whtpurk => 'white_with_purple_on_black',
whtgrng => 'white_with_green_on_grey',
grygrnw => 'grey_with_green_on_white',
- }}) {
+ );
+ for (my ($outfile, $variation) = each %variations) {
my $this_css = join "\n",
"/* This file is autogenerated. Do not edit. $outfile */\n",
"\@import url(\"./_$variation.css\");",
diff --git a/src/main/perl/lib/Pod/Simple/LinkSection.pm b/src/main/perl/lib/Pod/Simple/LinkSection.pm
index f7631965e..46ab2a10e 100644
--- a/src/main/perl/lib/Pod/Simple/LinkSection.pm
+++ b/src/main/perl/lib/Pod/Simple/LinkSection.pm
@@ -4,7 +4,7 @@ package Pod::Simple::LinkSection;
use strict;
use warnings;
use Pod::Simple::BlackBox;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
use overload( # So it'll stringify nice
'""' => \&Pod::Simple::BlackBox::stringify_lol,
diff --git a/src/main/perl/lib/Pod/Simple/Methody.pm b/src/main/perl/lib/Pod/Simple/Methody.pm
index 7ee0cecb0..01fbc19fc 100644
--- a/src/main/perl/lib/Pod/Simple/Methody.pm
+++ b/src/main/perl/lib/Pod/Simple/Methody.pm
@@ -2,7 +2,7 @@ package Pod::Simple::Methody;
use strict;
use warnings;
use Pod::Simple ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
our @ISA = ('Pod::Simple');
# Yes, we could use named variables, but I want this to be impose
diff --git a/src/main/perl/lib/Pod/Simple/Progress.pm b/src/main/perl/lib/Pod/Simple/Progress.pm
index d47604465..dc9264d22 100644
--- a/src/main/perl/lib/Pod/Simple/Progress.pm
+++ b/src/main/perl/lib/Pod/Simple/Progress.pm
@@ -2,7 +2,7 @@ package Pod::Simple::Progress;
use strict;
use warnings;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
# Objects of this class are used for noting progress of an
# operation every so often. Messages delivered more often than that
diff --git a/src/main/perl/lib/Pod/Simple/PullParser.pm b/src/main/perl/lib/Pod/Simple/PullParser.pm
index fed5da75e..c8f2a03ed 100644
--- a/src/main/perl/lib/Pod/Simple/PullParser.pm
+++ b/src/main/perl/lib/Pod/Simple/PullParser.pm
@@ -1,6 +1,6 @@
package Pod::Simple::PullParser;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
use Pod::Simple ();
BEGIN {our @ISA = ('Pod::Simple')}
diff --git a/src/main/perl/lib/Pod/Simple/PullParserEndToken.pm b/src/main/perl/lib/Pod/Simple/PullParserEndToken.pm
index 62b448f06..a276f3c8a 100644
--- a/src/main/perl/lib/Pod/Simple/PullParserEndToken.pm
+++ b/src/main/perl/lib/Pod/Simple/PullParserEndToken.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Pod::Simple::PullParserToken ();
our @ISA = ('Pod::Simple::PullParserToken');
-our $VERSION = '3.47';
+our $VERSION = '3.48';
sub new { # Class->new(tagname);
my $class = shift;
diff --git a/src/main/perl/lib/Pod/Simple/PullParserStartToken.pm b/src/main/perl/lib/Pod/Simple/PullParserStartToken.pm
index f7c016e4c..1dca6014e 100644
--- a/src/main/perl/lib/Pod/Simple/PullParserStartToken.pm
+++ b/src/main/perl/lib/Pod/Simple/PullParserStartToken.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Pod::Simple::PullParserToken ();
our @ISA = ('Pod::Simple::PullParserToken');
-our $VERSION = '3.47';
+our $VERSION = '3.48';
sub new { # Class->new(tagname, optional_attrhash);
my $class = shift;
diff --git a/src/main/perl/lib/Pod/Simple/PullParserTextToken.pm b/src/main/perl/lib/Pod/Simple/PullParserTextToken.pm
index 7edc34fb9..33d46c6ab 100644
--- a/src/main/perl/lib/Pod/Simple/PullParserTextToken.pm
+++ b/src/main/perl/lib/Pod/Simple/PullParserTextToken.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Pod::Simple::PullParserToken ();
our @ISA = ('Pod::Simple::PullParserToken');
-our $VERSION = '3.47';
+our $VERSION = '3.48';
sub new { # Class->new(text);
my $class = shift;
diff --git a/src/main/perl/lib/Pod/Simple/PullParserToken.pm b/src/main/perl/lib/Pod/Simple/PullParserToken.pm
index 865445d9a..61e646cfb 100644
--- a/src/main/perl/lib/Pod/Simple/PullParserToken.pm
+++ b/src/main/perl/lib/Pod/Simple/PullParserToken.pm
@@ -1,7 +1,7 @@
package Pod::Simple::PullParserToken;
# Base class for tokens gotten from Pod::Simple::PullParser's $parser->get_token
our @ISA = ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
use strict;
sub new { # Class->new('type', stuff...); ## Overridden in derived classes anyway
diff --git a/src/main/perl/lib/Pod/Simple/RTF.pm b/src/main/perl/lib/Pod/Simple/RTF.pm
index dbdcfd016..9b438530b 100644
--- a/src/main/perl/lib/Pod/Simple/RTF.pm
+++ b/src/main/perl/lib/Pod/Simple/RTF.pm
@@ -6,7 +6,7 @@ use warnings;
#sub Pod::Simple::DEBUG () {4};
#sub Pod::Simple::PullParser::DEBUG () {4};
-our $VERSION = '3.47';
+our $VERSION = '3.48';
use Pod::Simple::PullParser ();
our @ISA;
BEGIN {@ISA = ('Pod::Simple::PullParser')}
diff --git a/src/main/perl/lib/Pod/Simple/Search.pm b/src/main/perl/lib/Pod/Simple/Search.pm
index 4ef3be810..b0a4f7cb9 100644
--- a/src/main/perl/lib/Pod/Simple/Search.pm
+++ b/src/main/perl/lib/Pod/Simple/Search.pm
@@ -2,7 +2,7 @@ package Pod::Simple::Search;
use strict;
use warnings;
-our $VERSION = '3.47'; ## Current version of this package
+our $VERSION = '3.48'; ## Current version of this package
BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; } # set DEBUG level
use Carp ();
diff --git a/src/main/perl/lib/Pod/Simple/SimpleTree.pm b/src/main/perl/lib/Pod/Simple/SimpleTree.pm
index a50152250..148716963 100644
--- a/src/main/perl/lib/Pod/Simple/SimpleTree.pm
+++ b/src/main/perl/lib/Pod/Simple/SimpleTree.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Carp ();
use Pod::Simple ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
BEGIN {
our @ISA = ('Pod::Simple');
*DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
diff --git a/src/main/perl/lib/Pod/Simple/Text.pm b/src/main/perl/lib/Pod/Simple/Text.pm
index 12c608507..163a5457d 100644
--- a/src/main/perl/lib/Pod/Simple/Text.pm
+++ b/src/main/perl/lib/Pod/Simple/Text.pm
@@ -4,7 +4,7 @@ use warnings;
use Carp ();
use Pod::Simple::Methody ();
use Pod::Simple ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
our @ISA = ('Pod::Simple::Methody');
BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
? \&Pod::Simple::DEBUG
diff --git a/src/main/perl/lib/Pod/Simple/TextContent.pm b/src/main/perl/lib/Pod/Simple/TextContent.pm
index 260a64585..c4cf9230f 100644
--- a/src/main/perl/lib/Pod/Simple/TextContent.pm
+++ b/src/main/perl/lib/Pod/Simple/TextContent.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Carp ();
use Pod::Simple ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
our @ISA = ('Pod::Simple');
sub new {
diff --git a/src/main/perl/lib/Pod/Simple/TiedOutFH.pm b/src/main/perl/lib/Pod/Simple/TiedOutFH.pm
index 6b691ce1f..c49b1055c 100644
--- a/src/main/perl/lib/Pod/Simple/TiedOutFH.pm
+++ b/src/main/perl/lib/Pod/Simple/TiedOutFH.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Symbol ('gensym');
use Carp ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/src/main/perl/lib/Pod/Simple/Transcode.pm b/src/main/perl/lib/Pod/Simple/Transcode.pm
index c2785333e..e8a00b2ac 100644
--- a/src/main/perl/lib/Pod/Simple/Transcode.pm
+++ b/src/main/perl/lib/Pod/Simple/Transcode.pm
@@ -1,6 +1,6 @@
package Pod::Simple::Transcode;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
BEGIN {
if(defined &DEBUG) {;} # Okay
diff --git a/src/main/perl/lib/Pod/Simple/TranscodeDumb.pm b/src/main/perl/lib/Pod/Simple/TranscodeDumb.pm
index 06dd42bb7..c54183716 100644
--- a/src/main/perl/lib/Pod/Simple/TranscodeDumb.pm
+++ b/src/main/perl/lib/Pod/Simple/TranscodeDumb.pm
@@ -1,6 +1,6 @@
package Pod::Simple::TranscodeDumb;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
# This module basically pretends it knows how to transcode, except
# only for null-transcodings! We use this when Encode isn't
# available.
diff --git a/src/main/perl/lib/Pod/Simple/TranscodeSmart.pm b/src/main/perl/lib/Pod/Simple/TranscodeSmart.pm
index d2bd0ff43..8d56d6606 100644
--- a/src/main/perl/lib/Pod/Simple/TranscodeSmart.pm
+++ b/src/main/perl/lib/Pod/Simple/TranscodeSmart.pm
@@ -7,7 +7,7 @@ use strict;
use warnings;
use Pod::Simple;
use Encode;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
sub is_dumb {0}
sub is_smart {1}
diff --git a/src/main/perl/lib/Pod/Simple/XHTML.pm b/src/main/perl/lib/Pod/Simple/XHTML.pm
index 07cee5da3..6598b42ce 100644
--- a/src/main/perl/lib/Pod/Simple/XHTML.pm
+++ b/src/main/perl/lib/Pod/Simple/XHTML.pm
@@ -45,7 +45,7 @@ use warnings;
package Pod::Simple::XHTML;
use strict;
-our $VERSION = '3.47';
+our $VERSION = '3.48';
use Pod::Simple::Methody ();
our @ISA = ('Pod::Simple::Methody');
@@ -70,10 +70,11 @@ sub encode_entities {
$ents =~ s,(? sprintf('%%%02X', $_) ), 0 .. 255;
+
sub encode_url {
my ($self, $string) = @_;
- $string =~ s{([^-_.!~*()abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZZ0123456789])}{
- sprintf('%%%02X', ord($1))
- }eg;
+ utf8::encode($string) if HAVE_UTF8_ENCODE;
+ $string =~ s{([^-_.!~*()a-zA-Z0-9])}{$percent_enc{$1}}g;
return $string;
}
@@ -792,10 +798,18 @@ sub resolve_man_page_link {
my ($page, $part) = $to =~ /^([^(]+)(?:[(](\d+)[)])?$/;
return undef unless $page;
+ if (defined $section) {
+ $section =~ s/\s+/_/g;
+ my $id = $self->idify($section, 1);
+ $section = '#' . $self->encode_url($id);
+ } else {
+ $section = ''
+ }
+
return ($self->man_url_prefix || '')
. ($part || 1) . "/" . $self->encode_entities($page)
- . "." . ($part || 1) . ($self->man_url_postfix || '');
-
+ . "." . ($part || 1) . ($self->man_url_postfix || '')
+ . $section;
}
=head2 idify
diff --git a/src/main/perl/lib/Pod/Simple/XMLOutStream.pm b/src/main/perl/lib/Pod/Simple/XMLOutStream.pm
index 2a86ce61d..0be949227 100644
--- a/src/main/perl/lib/Pod/Simple/XMLOutStream.pm
+++ b/src/main/perl/lib/Pod/Simple/XMLOutStream.pm
@@ -3,7 +3,7 @@ use strict;
use warnings;
use Carp ();
use Pod::Simple ();
-our $VERSION = '3.47';
+our $VERSION = '3.48';
BEGIN {
our @ISA = ('Pod::Simple');
*DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
diff --git a/src/main/perl/lib/Pod/perlhack.pod b/src/main/perl/lib/Pod/perlhack.pod
index 639eb6ae7..0bbae4c4b 100644
--- a/src/main/perl/lib/Pod/perlhack.pod
+++ b/src/main/perl/lib/Pod/perlhack.pod
@@ -68,7 +68,38 @@ Committing your work will save the change I:
Make sure the commit message describes your change in a single
sentence. For example, "Fixed spelling errors in perlhack.pod".
-=item * Send your change to the Perl issue tracker
+=item * Add your name to the Perl contributors list
+
+We keep a list of all people who have contributed to Perl, as well as
+the Git commit history. The default is to show our gratitude by
+publicly listing their names and email addresses in the file named
+AUTHORS, which is part of the perl distribution. But some people choose
+to instead remain anonymous.
+
+If you have already contributed, you can skip this step, unless you want
+to update your records with, say, a new email address. Run
+
+ perldoc Porting/updateAUTHORS.pl
+
+to see the possibilities.
+
+If you've never contributed, run one of the following:
+
+=over
+
+=item * If you want to be publicly credited
+
+ perl Porting/updateAUTHORS.pl
+
+=item * If you want to remain anonymous
+
+ perl Porting/updateAUTHORS.pl --exclude-me
+
+=back
+
+Then commit the change.
+
+=item * Send your changes to the Perl issue tracker
The next step is to submit your patch to the Perl core ticket system.
@@ -85,7 +116,8 @@ HTTPS URLs"|https://docs.github.com/en/free-pro-team@latest/github/using-git/whi
% git remote add fork https://github.com/MyUser/perl5.git
-Then, push your new branch to your fork.
+Now, you are ready to submit your work. To do this, push your new
+branch to your fork.
% git push -u fork mychange
@@ -98,16 +130,6 @@ L.
The porters appreciate the time you spent helping to make Perl better.
Thank you!
-=item * Acknowledgement
-
-All contributors are credited (by name and email address) in the
-AUTHORS file, which is part of the perl distribution, as well as the
-Git commit history.
-
-If you don’t want to be included in the AUTHORS file, just let us
-know. Otherwise we will take your submission of a patch as permission
-to credit you in the AUTHORS file.
-
=item * Next time
The next time you wish to make a patch, you need to start from the
diff --git a/src/main/perl/lib/Pod/perlsyn.pod b/src/main/perl/lib/Pod/perlsyn.pod
index 598e1097e..411940424 100644
--- a/src/main/perl/lib/Pod/perlsyn.pod
+++ b/src/main/perl/lib/Pod/perlsyn.pod
@@ -542,10 +542,22 @@ the C loop index variable is an implicit alias for each item
in the list that you're looping over.
X
-If any part of LIST is an array, C will get very confused if
+If the LIST is just a single array, C will get very confused if
you add or remove elements within the loop body, for example with
-C. So don't do that.
-X
+C or C. So don't do that.
+XX
+
+ my @arr1 = 1 .. 2;
+ for my $x (@arr1, ()) {
+ push @arr1, 'a' if $x =~ /[0-9]/;
+ print $x;
+ } # Outputs 12
+
+ my @arr2 = 1 .. 2;
+ for my $x (@arr2) {
+ push @arr2, 'b' if $x =~ /[0-9]/;
+ print $x;
+ } # Outputs 12bb
C probably won't do what you expect if VAR is a tied or other
special variable. Don't do that either.