man pages section 1: User Commands

Exit Print View

Updated: July 2014

perlfaq2 (1)


perlfaq2 - Obtaining and Learning about Perl


Please see following description for synopsis


Perl Programmers Reference Guide                      PERLFAQ2(1)

     perlfaq2 - Obtaining and Learning about Perl

     This section of the FAQ answers questions about where to
     find source and documentation for Perl, support, and related

  What machines support perl?  Where do I get it?
     The standard release of perl (the one maintained by the perl
     development team) is distributed only in source code form.
     You can find the latest releases at .

     Perl builds and runs on a bewildering number of platforms.
     Virtually all known and current Unix derivatives are
     supported (perl's native platform), as are other systems
     like VMS, DOS, OS/2, Windows, QNX, BeOS, OS X, MPE/iX and
     the Amiga.

     Binary distributions for some proprietary platforms can be
     found directory. Because these
     are not part of the standard distribution, they may and in
     fact do differ from the base perl port in a variety of ways.
     You'll have to check their respective release notes to see
     just what the differences are.  These differences can be
     either positive (e.g. extensions for the features of the
     particular platform that are not supported in the source
     release of perl) or negative (e.g. might be based upon a
     less current source release of perl).

  How can I get a binary version of perl?
     (contributed by brian d foy)

     ActiveState: Windows, Linux, Mac OS X, Solaris, AIX and HP-

    Solaris 2.5 to Solaris 10 (SPARC and x86)


     Strawberry Perl: Windows, Perl 5.8.8 and 5.10.0


     IndigoPerl: Windows


perl v5.12.5         Last change: 2012-11-03                    1

Perl Programmers Reference Guide                      PERLFAQ2(1)

  I don't have a C compiler. How can I build my own Perl
     Since you don't have a C compiler, you're doomed and your
     vendor should be sacrificed to the Sun gods.  But that
     doesn't help you.

     What you need to do is get a binary version of "gcc" for
     your system first.  Consult the Usenet FAQs for your
     operating system for information on where to get such a
     binary version.

     You might look around the net for a pre-built binary of Perl
     (or a C compiler!) that meets your needs, though:

     For Windows, Vanilla Perl ( ) and
     Strawberry Perl ( ) come with a
     bundled C compiler. ActivePerl is a pre-compiled version of
     Perl ready-to-use.

     For Sun systems, provides binaries of most
     popular applications, including compilers and Perl.

  I copied the perl binary from one machine to another, but
     scripts don't work.
     That's probably because you forgot libraries, or library
     paths differ.  You really should build the whole
     distribution on the machine it will eventually live on, and
     then type "make install".  Most other approaches are doomed
     to failure.

     One simple way to check that things are in the right place
     is to print out the hard-coded @INC that perl looks through
     for libraries:

         % perl -le 'print for @INC'

     If this command lists any paths that don't exist on your
     system, then you may need to move the appropriate libraries
     to these locations, or create symbolic links, aliases, or
     shortcuts appropriately.  @INC is also printed as part of
     the output of

         % perl -V

     You might also want to check out "How do I keep my own
     module/library directory?" in perlfaq8.

  I grabbed the sources and tried to compile but gdbm/dynamic
     loading/malloc/linking/... failed.  How do I make it work?

     Read the INSTALL file, which is part of the source
     distribution.  It describes in detail how to cope with most

perl v5.12.5         Last change: 2012-11-03                    2

Perl Programmers Reference Guide                      PERLFAQ2(1)

     idiosyncrasies that the "Configure" script can't work around
     for any given system or architecture.

  What modules and extensions are available for Perl?  What is
     CPAN?  What does CPAN/src/... mean?
     CPAN stands for Comprehensive Perl Archive Network, a multi-
     gigabyte archive replicated on hundreds of machines all over
     the world. CPAN contains source code, non-native ports,
     documentation, scripts, and many third-party modules and
     extensions, designed for everything from commercial database
     interfaces to keyboard/screen control to web walking and CGI
     scripts. The master web site for CPAN is and there is the CPAN Multiplexer at which will choose a mirror
     near you via DNS.  See (without a
     slash at the end) for how this process works. Also, has a nice interface to the mirror directory.

     See the CPAN FAQ at
     for answers to the most frequently asked questions about
     CPAN including how to become a mirror.

     "CPAN/path/..." is a naming convention for files available
     on CPAN sites.  CPAN indicates the base directory of a CPAN
     mirror, and the rest of the path is the path from that
     directory to the file. For instance, if you're using as your CPAN
     site, the file "CPAN/misc/japh" is downloadable as .

     Considering that, as of 2006, there are over ten thousand
     existing modules in the archive, one probably exists to do
     nearly anything you can think of. Current categories under
     "CPAN/modules/by-category/" include Perl core modules;
     development support; operating system interfaces;
     networking, devices, and interprocess communication; data
     type utilities; database interfaces; user interfaces;
     interfaces to other languages; filenames, file systems, and
     file locking; internationalization and locale; world wide
     web support; server and daemon utilities; archiving and
     compression; image manipulation; mail and news; control flow
     utilities; filehandle and I/O; Microsoft Windows modules;
     and miscellaneous modules.

     See or for a more complete list of modules
     by category.

     CPAN is a free service and is not affiliated with O'Reilly

perl v5.12.5         Last change: 2012-11-03                    3

Perl Programmers Reference Guide                      PERLFAQ2(1)

  Is there an ISO or ANSI certified version of Perl?
     Certainly not.  Larry expects that he'll be certified before
     Perl is.

  Where can I get information on Perl?
     The complete Perl documentation is available with the Perl
     distribution.  If you have Perl installed locally, you
     probably have the documentation installed as well: type "man
     perl" if you're on a system resembling Unix.  This will lead
     you to other important man pages, including how to set your
     $MANPATH.  If you're not on a Unix system, access to the
     documentation will be different; for example, documentation
     might only be in HTML format.  All proper perl installations
     have fully-accessible documentation.

     You might also try "perldoc perl" in case your system
     doesn't have a proper "man" command, or it's been
     misinstalled.  If that doesn't work, try looking in
     "/usr/local/lib/perl5/pod" for documentation.

     If all else fails, consult which
     has the complete documentation in HTML and PDF format.

     Many good books have been written about Perl--see the
     section later in perlfaq2 for more details.

     Tutorial documents are included in current or upcoming Perl
     releases include perltoot for objects or perlboot for a
     beginner's approach to objects, perlopentut for file opening
     semantics, perlreftut for managing references, perlretut for
     regular expressions, perlthrtut for threads, perldebtut for
     debugging, and perlxstut for linking C and Perl together.
     There may be more by the time you read this.  These URLs
     might also be useful:

  What are the Perl newsgroups on Usenet?  Where do I post
     Several groups devoted to the Perl language are on Usenet:

             comp.lang.perl.announce      Moderated announcement group
             comp.lang.perl.misc          High traffic general Perl discussion
             comp.lang.perl.moderated     Moderated discussion group
             comp.lang.perl.modules       Use and development of Perl modules
               Using Tk (and X) from Perl

     Some years ago, comp.lang.perl was divided into those
     groups, and comp.lang.perl itself officially removed.  While
     that group may still be found on some news servers, it is
     unwise to use it, because postings there will not appear on

perl v5.12.5         Last change: 2012-11-03                    4

Perl Programmers Reference Guide                      PERLFAQ2(1)

     news servers which honour the official list of group names.
     Use comp.lang.perl.misc for topics which do not have a more-
     appropriate specific group.

     There is also a Usenet gateway to Perl mailing lists
     sponsored by at nntp:// , a web
     interface to the same lists at
     and these lists are also available under the "perl.*"
     hierarchy at . Other groups are
     listed at ( also known as ).

     A nice place to ask questions is the PerlMonks site, , or the Perl Beginners mailing
     list .

     Note that none of the above are supposed to write your code
     for you: asking questions about particular problems or
     general advice is fine, but asking someone to write your
     code for free is not very cool.

  Where should I post source code?
     You should post source code to whichever group is most
     appropriate, but feel free to cross-post to
     comp.lang.perl.misc.  If you want to cross-post to
     alt.sources, please make sure it follows their posting
     standards, including setting the Followup-To header line to
     NOT include alt.sources; see their FAQ ( ) for details.

     If you're just looking for software, first use Google ( ), Google's Usenet search interface ( ),  and CPAN Search ( ).  This is faster and more
     productive than just posting a request.

  Perl Books
     A number of books on Perl and/or CGI programming are
     available.  A few of these are good, some are OK, but many
     aren't worth your money.  There is a list of these books,
     some with extensive reviews, at . If
     you don't see your book listed here, you can write to .

     The incontestably definitive reference book on Perl, written
     by the creator of Perl, is Programming Perl:

             Programming Perl (the "Camel Book"):
             by Larry Wall, Tom Christiansen, and Jon Orwant
             ISBN 0-596-00027-8  [3rd edition July 2000]
             (English, translations to several languages are also available)

perl v5.12.5         Last change: 2012-11-03                    5

Perl Programmers Reference Guide                      PERLFAQ2(1)

     The companion volume to the Camel containing thousands of
     real-world examples, mini-tutorials, and complete programs

             The Perl Cookbook (the "Ram Book"):
             by Tom Christiansen and Nathan Torkington,
                 with Foreword by Larry Wall
             ISBN 0-596-00313-7 [2nd Edition August 2003]

     If you're already a seasoned programmer, then the Camel Book
     might suffice for you to learn Perl.  If you're not, check
     out the Llama book:

             Learning Perl
             by Randal L. Schwartz, Tom Phoenix, and brian d foy
             ISBN 0-596-10105-8 [4th edition July 2005]

     And for more advanced information on writing larger
     programs, presented in the same style as the Llama book,
     continue your education with the Alpaca book:

             Intermediate Perl (the "Alpaca Book")
             by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway)
             ISBN 0-596-10206-2 [1st edition March 2006]

     Addison-Wesley ( ) and Manning ( ) are also publishers of some fine
     Perl books such as Object Oriented Programming with Perl by
     Damian Conway and Network Programming with Perl by Lincoln

     An excellent technical book discounter is Bookpool at where a 30% discount or more is not

     What follows is a list of the books that the FAQ authors
     found personally useful.  Your mileage may (but, we hope,
     probably won't) vary.

     Recommended books on (or mostly on) Perl follow.

                 Programming Perl
                 by Larry Wall, Tom Christiansen, and Jon Orwant
                 ISBN 0-596-00027-8 [3rd edition July 2000]

                 Perl 5 Pocket Reference
                 by Johan Vromans

perl v5.12.5         Last change: 2012-11-03                    6

Perl Programmers Reference Guide                      PERLFAQ2(1)

                 ISBN 0-596-00374-9 [4th edition July 2002]

                 Beginning Perl
                 by James Lee
                 ISBN 1-59059-391-X [2nd edition August 2004]

                 Elements of Programming with Perl
                 by Andrew L. Johnson
                 ISBN 1-884777-80-5 [1st edition October 1999]

                 Learning Perl
                 by Randal L. Schwartz, Tom Phoenix, and brian d foy
                 ISBN 0-596-52010-7 [5th edition June 2008]

                 Intermediate Perl (the "Alpaca Book")
                 by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway)
                 ISBN 0-596-10206-2 [1st edition March 2006]

                 Mastering Perl
                 by brian d foy
                 ISBN 0-596-52724-1 [1st edition July 2007]

                 Writing Perl Modules for CPAN
                 by Sam Tregar
                 ISBN 1-59059-018-X [1st edition August 2002]

                 The Perl Cookbook
                 by Tom Christiansen and Nathan Torkington
                     with foreword by Larry Wall
                 ISBN 1-56592-243-3 [1st edition August 1998]

                 Effective Perl Programming
                 by Joseph Hall
                 ISBN 0-201-41975-0 [1st edition 1998]

                 Real World SQL Server Administration with Perl
                 by Linchi Shea
                 ISBN 1-59059-097-X [1st edition July 2003]

     Special Topics

perl v5.12.5         Last change: 2012-11-03                    7

Perl Programmers Reference Guide                      PERLFAQ2(1)

                 Perl Best Practices
                 by Damian Conway
                 ISBN: 0-596-00173-8 [1st edition July 2005]

                 Higher Order Perl
                 by Mark-Jason Dominus
                 ISBN: 1558607013 [1st edition March 2005]

                 Perl 6 Now: The Core Ideas Illustrated with Perl 5
                 by Scott Walters
                 ISBN 1-59059-395-2 [1st edition December 2004]

                 Mastering Regular Expressions
                 by Jeffrey E. F. Friedl
                 ISBN 0-596-00289-0 [2nd edition July 2002]

                 Network Programming with Perl
                 by Lincoln Stein
                 ISBN 0-201-61571-1 [1st edition 2001]

                 Object Oriented Perl
                 by Damian Conway
                     with foreword by Randal L. Schwartz
                 ISBN 1-884777-79-1 [1st edition August 1999]

                 Data Munging with Perl
                 by Dave Cross
                 ISBN 1-930110-00-6 [1st edition 2001]

                 Mastering Perl/Tk
                 by Steve Lidie and Nancy Walsh
                 ISBN 1-56592-716-8 [1st edition January 2002]

                 Extending and Embedding Perl
                 by Tim Jenness and Simon Cozens
                 ISBN 1-930110-82-0 [1st edition August 2002]

                 Perl Debugger Pocket Reference
                 by Richard Foley
                 ISBN 0-596-00503-2 [1st edition January 2004]

                 Pro Perl Debugging

perl v5.12.5         Last change: 2012-11-03                    8

Perl Programmers Reference Guide                      PERLFAQ2(1)

                 by Richard Foley with Andy Lester
                 ISBN 1-59059-454-1 [1st edition July 2005]

  Which magazines have Perl content?
     The Perl Review ( ) focuses on
     Perl almost completely (although it sometimes sneaks in an
     article about another language). There's also $foo Magazin,
     a german magazine dedicated to Perl, at ( ).

     The Perl-Zeitung is a German-speaking magazine for Perl
     beginners (see ).

     Magazines that frequently carry quality articles on Perl
     include The Perl Review ( ),
     Unix Review ( ), Linux Magazine ( ), and Usenix's
     newsletter/magazine to its members, login: ( ).

     The Perl columns of Randal L. Schwartz are available on the
     web at , , and .

     The first (and for a long time, only) periodical devoted to
     All Things Perl, The Perl Journal contains tutorials,
     demonstrations, case studies, announcements, contests, and
     much more.  TPJ has columns on web development, databases,
     Win32 Perl, graphical programming, regular expressions, and
     networking, and sponsors the Obfuscated Perl Contest and the
     Perl Poetry Contests.  Beginning in November 2002, TPJ moved
     to a reader-supported monthly e-zine format in which
     subscribers can download issues as PDF documents. In 2006,
     TPJ merged with Dr.  Dobbs Journal (online edition). To read
     old TPJ articles, see .

  What mailing lists are there for Perl?
     Most of the major modules ("Tk", "CGI", "libwww-perl") have
     their own mailing lists.  Consult the documentation that
     came with the module for subscription information.

     A comprehensive list of Perl related mailing lists can be
     found at:


  Where are the archives for comp.lang.perl.misc?
     The Google search engine now carries archived and searchable
     newsgroup content.

perl v5.12.5         Last change: 2012-11-03                    9

Perl Programmers Reference Guide                      PERLFAQ2(1)

     If you have a question, you can be sure someone has already
     asked the same question at some point on c.l.p.m. It
     requires some time and patience to sift through all the
     content but often you will find the answer you seek.

  Where can I buy a commercial version of perl?
     In a real sense, perl already is commercial software: it has
     a license that you can grab and carefully read to your
     manager. It is distributed in releases and comes in well-
     defined packages. There is a very large user community and
     an extensive literature.  The comp.lang.perl.*  newsgroups
     and several of the mailing lists provide free answers to
     your questions in near real-time.  Perl has traditionally
     been supported by Larry, scores of software designers and
     developers, and myriad programmers, all working for free to
     create a useful thing to make life better for everyone.

     However, these answers may not suffice for managers who
     require a purchase order from a company whom they can sue
     should anything go awry.  Or maybe they need very serious
     hand-holding and contractual obligations.  Shrink-wrapped
     CDs with perl on them are available from several sources if
     that will help.  For example, many Perl books include a
     distribution of perl, as do the O'Reilly Perl Resource Kits
     (in both the Unix flavor and in the proprietary Microsoft
     flavor); the free Unix distributions also all come with

  Where do I send bug reports?
     (contributed by brian d foy)

     First, ensure that you've found an actual bug. Second,
     ensure you've found an actual bug.

     If you've found a bug with the perl interpreter or one of
     the modules in the standard library (those that come with
     Perl), you can use the "perlbug" utility that comes with
     Perl (>= 5.004). It collects information about your
     installation to include with your message, then sends the
     message to the right place.

     To determine if a module came with your version of Perl, you
     can use the "Module::CoreList" module. It has the
     information about the modules (with their versions) included
     with each release of Perl.

     If "Module::CoreList" is not installed on your system, check
     out .

perl v5.12.5         Last change: 2012-11-03                   10

Perl Programmers Reference Guide                      PERLFAQ2(1)

     Every CPAN module has a bug tracker set up in RT, .  You can submit bugs to RT either
     through its web interface or by email. To email a bug
     report, send it to bug-<distribution-name> . For
     example, if you wanted to report a bug in "Business::ISBN",
     you could send a message to .

     Some modules might have special reporting requirements, such
     as a Sourceforge or Google Code tracking system, so you
     should check the module documentation too.

  What is Perl Mongers? at is part of the O'Reilly
     Network, a subsidiary of O'Reilly Media.

     The Perl Foundation is an advocacy organization for the Perl
     language which maintains the web site
     as a general advocacy site for the Perl language. It uses
     the domain to provide general support services to the Perl
     community, including the hosting of mailing lists, web
     sites, and other services.  There are also many other sub-
     domains for special topics like learning Perl, Perl news,
     jobs in Perl, such as:


     Perl Mongers uses the domain for services related to
     Perl user groups, including the hosting of mailing lists and
     web sites.  See the Perl user group web site at for more information about joining,
     starting, or requesting services for a Perl user group. is the Comprehensive Perl Archive
     Network, a replicated worldwide repository of Perl software,
     see the What is CPAN? question earlier in this document.

     Copyright (c) 1997-2010 Tom Christiansen, Nathan Torkington,
     and other authors as noted. All rights reserved.

     This documentation is free; you can redistribute it and/or
     modify it under the same terms as Perl itself.

     Irrespective of its distribution, all code examples here are
     in the public domain.  You are permitted and encouraged to
     use this code and any derivatives thereof in your own
     programs for fun or for profit as you see fit.  A simple
     comment in the code giving credit to the FAQ would be

perl v5.12.5         Last change: 2012-11-03                   11

Perl Programmers Reference Guide                      PERLFAQ2(1)

     courteous but is not required.

     See attributes(5) for descriptions of the following

     |Availability   | runtime/perl-512 |
     |Stability      | Uncommitted      |
     This software was built from source available at  The original
     community source was downloaded from

     Further information about this software can be found on the
     open source community website at

perl v5.12.5         Last change: 2012-11-03                   12