Home / Alt manpages / perlbook(1)

  • perlbook(1)
  • User command
  • linux

Use perlbook to Choose and Refresh Perl Book References

You will use the installed perlbook(1) documentation as a starting point for choosing Perl books, then check the current upstream list before spending time or money on an edition. On this Ubuntu system, the page comes from Perl 5.38.2 and the perl-doc package version 5.38.2-3.2ubuntu0.6.

Allow about ten minutes. You need a shell and the installed perl-doc package. This guide only reads documentation and opens web pages if you choose to do so. It does not install books, change Perl, or alter any system configuration.

1. Confirm the local Perl and documentation versions

Start by checking the interpreter and package that supply the local documentation:

$ perl -v | sed -n '1,8p'
$ dpkg-query -W -f='${Package} ${Version}\n' perl-doc

On the machine used for this guide, the first command identifies Perl 5.38.2 and the second reports perl-doc 5.38.2-3.2ubuntu0.6. Your patch level can differ. Keep this checkpoint with any notes you make about the book list, because a later Perl package can contain different documentation.

If the package query says that perl-doc is not installed, stop here and install it through your normal package-management process. That is the only step in this guide that would require an administrator, and no installation command is included because the package manager and release are host-specific.

2. Open perlbook through perldoc

The installed perlbook(1) page is a documentation entry. It is not a separate executable named perlbook. Use perldoc to render it as plain text:

$ PERLDOC_PAGER=cat perldoc perlbook

PERLDOC_PAGER=cat makes the result flow directly to the terminal instead of opening an interactive pager. It applies to this command only. The output begins with the page name and description, followed by groups such as the most popular books, references, tutorials, task-oriented books and special topics.

Checkpoint: confirm that the command succeeds and that the output contains the heading NAME followed by perlbook - Books about and related to Perl:

$ PERLDOC_PAGER=cat perldoc perlbook > /tmp/perlbook.txt
$ printf 'status=%s lines=%s\n' "$?" "$(wc -l < /tmp/perlbook.txt)"

The temporary file is a disposable copy of rendered documentation. It is not a catalogue database and it does not update itself.

3. Pick a starting book by task

Use the headings in the rendered page to narrow the choice rather than treating the list as a single ranking. The local page gives these useful starting points:

  • Learn the basics: Learning Perl, the Llama book, assumes that you already know a little programming.
  • Move into intermediate Perl: Intermediate Perl, the Alpaca book, covers references, data structures, object-oriented programming and modules.
  • Look up broad language details: Programming Perl, the Camel Book, is described as the major reference.
  • Find a recipe for a particular job: The Perl Cookbook is the task-oriented choice listed by the page.
  • Keep a compact lookup nearby: the references section lists Perl 5 Pocket Reference, Perl Debugger Pocket Reference and Regular Expression Pocket Reference.

These labels describe the role given by perlbook; they do not prove that a book is the newest, cheapest or best match for your project. Read the publisher or author page before buying, and check that examples target the Perl version you run.

The page includes publisher and project links, but its entries are tied to the Perl release that shipped them. It explicitly warns that newer books may exist and points readers to the latest version at perldoc.perl.org. Open that page when the decision matters:

$ xdg-open https://perldoc.perl.org/perlbook.html

xdg-open is optional and depends on a graphical desktop. Without one, copy the URL into a browser or use a text-capable web client already installed on your machine. The important check is the page version, not the browser command.

The current upstream page can contain the same long-established titles while changing links or publisher details. The local 5.38.2 page includes entries with publication dates as far back as 2001 and 2003, and it also notes that older books can remain useful when the language features they describe have not changed. Treat that as a reason to verify scope, not as a guarantee that every example is current.

5. Keep the result reproducible

For a team decision, save the Perl version, package version and retrieval date beside your notes. Do not overwrite the installed manpage. A small record is enough:

$ date -u +%Y-%m-%d
$ perl -e 'print "$^V\n"'
$ dpkg-query -W -f='${Package} ${Version}\n' perl-doc

Use the book's official page for purchase or download details. The local manual includes links to publishers and free resources, but those links can change independently of your operating system package. If a link is dead, search the title and author on the publisher or author domain rather than relying on an unverified mirror.

6. Avoid the common traps

Do not type perlbook expecting a command to run. On this installation there is no executable by that name; the supported local route is perldoc perlbook. Do not add arbitrary options to perlbook based on another tool's interface: the manual page describes a book list, not a book-search command or configuration file.

Do not interpret inclusion as a current endorsement of every detail. The page says that listing a book implies some endorsement, but that omission means nothing. Conversely, a listed book may be old while still being useful for stable language fundamentals. Check the edition, examples and publisher information against your actual need.

Finally, do not confuse perlbook with technical documentation for a module or language feature. Once you have chosen a subject, use the relevant installed Perl documentation and test examples in a temporary working directory. Keep external book code separate from production files until it has passed your own review.

Done means

  • You confirmed the installed Perl and perl-doc versions.
  • You rendered the local page successfully with PERLDOC_PAGER=cat perldoc perlbook.
  • You chose a book category that matches your task rather than the title alone.
  • You checked the current upstream perlbook page before relying on the local list.
  • You recorded enough version information to explain which list you used.