Home / Alt manpages / perl5141delta(1)

  • perl5141delta(1)
  • User command
  • linux

Read Perl 5.14.1 Release Notes on Linux Without Guessing

The name is misleading: perl5141delta is a documentation page, not a program that upgrades Perl or tests your scripts.

This guide shows you how to inspect the installed delta document on Linux, confirm which Perl and documentation package you are actually using, and separate release-note facts from assumptions about your application. Allow about ten minutes. You need a shell and the perl-doc package; no root access or configuration change is required. The installed manpage here comes from perl-doc version 5.38.2-3.2ubuntu0.6, while the document itself describes the historical 5.14.1 release.

1. Check the installed Perl and documentation package

Start by recording the local versions. This heads off a common mix-up: treating the manpage package's version as if it were the Perl interpreter's version.

$ perl -v
This is perl 5, version 38, subversion 2 (v5.38.2) built for x86_64-linux-gnu-thread-multi

$ dpkg-query -W -f='${Package} ${Version}\n' perl-doc
perl-doc 5.38.2-3.2ubuntu0.6

Your architecture and patch level may differ. perl -v identifies the interpreter you will run; dpkg-query identifies the Debian package supplying this copy of the documentation. Two different questions.

Checkpoint

If dpkg-query says the package is not installed, install perl-doc through your normal package-management process before continuing. Do not use sudo just to read an already installed manual.

2. Open the release delta as a manpage

Use the normal manual-page interface: the clearest way to keep headings visible and move around a long reference document.

$ man perl5141delta

Search within the pager for a topic such as /Bug Fixes or /Updated Modules. Press n for the next match, q to leave. The opening text should identify the scope as differences between 5.14.0 and 5.14.1, and it says an upgrade from an earlier release such as 5.12.0 should go through perl5140delta first.

Need a non-interactive capture for a ticket or review? Send the formatted page to standard output:

$ man -P cat perl5141delta | sed -n '1,45p'

That output includes the manual header, and terminal formatting can vary. Do not diff it byte-for-byte between systems; use the named sections and the facts they contain.

3. Use perldoc when you are already working in Perl

perldoc reads the same installed POD source. Handy in scripts, terminals without man, or a Perl development session.

$ perldoc -T perl5141delta | sed -n '1,35p'
NAME
    perl5141delta - what is new for perl v5.14.1

DESCRIPTION
    This document describes differences between the 5.14.0 release and the
    5.14.1 release.

The -T option asks perldoc for plain text; without it, the output format depends on your environment. To confirm which source file is actually being read:

$ perldoc -l perl5141delta
/usr/share/perl/5.38/pod/perl5141delta.pod

That path is another local detail, not a portable hard-coded location. Follow the command's result rather than assuming every distribution stores Perl POD the same way.

4. Read the useful sections in the right order

The page reports no new core enhancements, security changes, intentional incompatibilities, deprecations, new modules or removed modules for this point release. Useful upgrade information, but it does not mean every bug in every Perl program is fixed. For a quick compatibility review:

  1. Modules and Pragmata: check the listed upgrades to B::Deparse and Pod::Perldoc. The page records old and new module versions and the regressions addressed.
  2. Documentation: work out whether a behaviour you use was clarified rather than changed. The notes mention given, when, default, Unicode bitwise operators, m//g, here-doc syntax and Perl's -0 option.
  3. Bug Fixes: watch for regular-expression, Unicode case-folding, here-document parsing and freed-buffer fixes. Reasons to understand the release, not commands to run blindly.
  4. Platform Support: check the Solaris, Mac OS X and Ubuntu Linux notes only if those platforms are part of your deployment or build.

This page is not a migration checklist for your application. After spotting a relevant item, reproduce it with a small test under the interpreter that will actually run the application. Keep the test away from production data, and do not swap out a working interpreter merely because a historical note looks interesting.

5. Compare a neighbouring release when the scope is wrong

A frequent mistake: opening perl5141delta while chasing a change introduced in 5.14.0. This page deliberately excludes the 5.14.0 feature set. Ask for the earlier delta directly:

$ man perl5140delta
$ perldoc -T perl5140delta | sed -n '1,18p'

Running a later Perl and want to discover what release notes are actually installed, rather than guessing a page name?

$ compgen -c | grep '^perl[0-9].*delta$' | sort -u

This can print nothing, since distribution packages do not always install every historical document as a command name. Fall back to listing the Perl POD files directly and use the exact name you find:

$ find /usr/share/perl -type f -name 'perl*delta.pod' -print 2>/dev/null | sort

An absent local file only tells you what this installation provides, not that a release never had notes.

6. Turn a note into a safe verification

Release notes describe changes; they do not certify your code. If a note touches a regular expression, module or parser feature, write a minimal test and run it under an explicit interpreter path or version manager selection. Capture both the result and the interpreter version:

$ perl -e 'printf "perl=%s\n", $^V; print "match\n" if "example" =~ /exam/;'
perl=v5.38.2
match

Deliberately harmless, and it changes no files. Swap in a focused test for the behaviour you are actually reviewing. If the result matters to a deployment decision, run the same test on the target host rather than trusting the documentation host.

Nothing here needs an undo. Every command above only reads documentation or runs an in-memory Perl one-liner. Do not let a release-note investigation turn into an unplanned interpreter upgrade: package upgrades can affect system services and deserve their own reviewed change with a rollback plan.

Done means

  • Versions separated. You recorded the interpreter version apart from the perl-doc package version.
  • Scope confirmed. perl5141delta covers 5.14.0 to 5.14.1, not the whole 5.14 series.
  • Reading method set. You can open the page with man or extract plain text with perldoc -T.
  • Relevant section tested. Where needed, you ran a small test under the actual target interpreter.
  • Nothing changed. Perl, application files, services and system configuration are untouched by simply reading the notes.