develooper Front page | perl.perl5.porters | Postings from November 2015

Perl 5.23.5 is available.

Thread Next
November 20, 2015 17:13
Perl 5.23.5 is available.
Message ID:

After Mel had left the company for greener pa$ture$, the Big Boss asked
me to look at the code and see if I could find the test and reverse it.
Somewhat reluctantly, I agreed to look. Tracking Mel's code was a real

I have often felt that programming is an art form, whose real value can
only be appreciated by another versed in the same arcane art; there are
lovely gems and brilliant coups hidden from human view and admiration,
sometimes forever, by the very nature of the process. You can learn a
lot about an individual just by reading through his code, even in
hexadecimal. Mel was, I think, an unsung genius.

Perhaps my greatest shock came when I found an innocent loop that had
no test in it. No test. None. Common sense said it had to be a closed
loop, where the program would circle, forever, endlessly. Program
control passed right through it, however, and safely out the other side.
It took me two weeks to figure it out.

The RPC-4000 computer had a really modern facility called an index
register. It allowed the programmer to write a program loop that used
an indexed instruction inside; each time through, the number in the
index register was added to the address of that instruction, so it
would refer to the next datum in a series. He had only to increment
the index register each time through. Mel never used it.

Instead, he would pull the instruction into a machine register, add one
to its address, and store it back. He would then execute the modified
instruction right from the register. The loop was written so this
additional execution time was taken into account -- just as this
instruction finished, the next one was right under the drum's read head,
ready to go. But the loop had no test in it.

The vital clue came when I noticed the index register bit, the bit that
lay between the address and the operation code in the instruction word,
was turned on -- yet Mel never used the index register, leaving it zero
all the time. When the light went on it nearly blinded me.

He had located the data he was working on near the top of memory -- the
largest locations the instructions could address -- so, after the last
datum was handled, incrementing the instruction address would make it
overflow. The carry would add one to the operation code, changing it to
the next one in the instruction set: a jump instruction. Sure enough,
the next program instruction was in address location zero, and the
program went happily on its way.

    -- utastro!nather (Ed Nather) in net.jokes, May 21, 1983.

We are tickled pink to announce version 23.5, the sixth development
release of version 5 of Perl 5.

You will soon be able to download Perl 5.23.5 from your
favorite CPAN mirror or find it at:

SHA1 digests for this release are:

 f4044e99e965e2a245be4c78c28e0c44af8875e0   perl-5.23.5.tar.gz
 44f911cd08dd0111606898631047e0351a33ac8f   perl-5.23.5.tar.bz2
 ff2fa6a7dcd6292f48a8f69aea6696517adf5207   perl-5.23.5.tar.xz

You can find a full list of changes in the file "perldelta.pod" located in
the "pod" directory inside the release and on the web at

Perl 5.23.5 represents approximately 4 weeks of development since Perl 5.23.4
and contains approximately 12,000 lines of changes across 290 files from 23

Excluding auto-generated files, documentation and release tools, there were
approximately 6,400 lines of changes to 180 .pm, .t, .c and .h files.

Perl continues to flourish into its third decade thanks to a vibrant community
of users and developers. The following people are known to have contributed the
improvements that became Perl 5.23.5:

Aaron Crane, Abigail, Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari
Mannsåker, Daniel Dragan, David Mitchell, Dr.Ruud, H.Merijn Brand, Ivan
Pozdeev, James E Keenan, Jarkko Hietaniemi, Jerry D. Hedden, Karen Etheridge,
Karl Williamson, Lukas Mai, Mohammed El-Afifi, Niko Tyni, Peter Rabbitson,
Reini Urban, Ricardo Signes, Steve Hay, Tony Cook.

The list above is almost certainly incomplete as it is automatically generated
from version control history. In particular, it does not include the names of
the (very much appreciated) contributors who reported issues to the Perl bug

Many of the changes included in this version originated in the CPAN modules
included in Perl's core. We're grateful to the entire CPAN community for
helping Perl to flourish.

For a more complete list of all of Perl's historical contributors, please see
the F<AUTHORS> file in the Perl source distribution.

We expect to release version 23.6 on 20 Dec, 2015. The next major stable
release of Perl 5, version 24.0, should appear in May 2016.

Happy Trails,


Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About