perlfaq2(1)

perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.1 $, $Date: 2002/05/07 00:07:32 $)

Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.19.

NAME
     perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.1 $, $Date:
     2002/05/07 00:07:32 $)

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

     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 this at
     http://www.perl.com/CPAN/src/latest.tar.gz, which in standard Internet
     format (a gzipped archive in POSIX tar format).

     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 proprietary systems like VMS, DOS, OS/2, Windows, QNX,
     BeOS, and the Amiga.  There are also the beginnings of support for
     MPE/iX.

     Binary distributions for some proprietary platforms, including Apple
     systems can be found http://www.perl.com/CPAN/ports/ 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).

     A useful FAQ for Win32 Perl users is
     http://www.endcontsw.com/people/evangelo/Perl_for_Win32_FAQ.html

     How can I get a binary version of Perl?

     If you don't have a C compiler because for whatever reasons your vendor
     did not include one with your system, the best thing to do is grab a
     binary version of gcc from the net and use that to compile perl with.
     CPAN only has binaries for systems that are terribly hard to get free
     compilers for, not for Unix systems.

     Your first stop should be http://www.perl.com/CPAN/ports to see what
     information is already available.  A simple installation guide for MS-DOS
     is available at http://www.cs.ruu.nl/~piet/perl5dos.html , and similarly
     for Windows 3.1 at http://www.cs.ruu.nl/~piet/perlwin3.html .

     I don't have a C compiler on my system.  How can I compile 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.

     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 which perl is looking for.

             perl -e 'print join("\n",@INC)'

     If this command lists any paths which don't exist on your system, then
     you may need to move the appropriate libraries to these locations, or
     create symlinks, aliases, or shortcuts appropriately.

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

     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 idiosyncracies 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 huge archive
     replicated on dozens 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 machine for CPAN is
     ftp://ftp.funet.fi/pub/languages/perl/CPAN/, but you can use the address
     http://www.perl.com/CPAN/CPAN.html to fetch a copy from a "site near
     you".  See http://www.perl.com/CPAN (without a slash at the end) for how
     this process works.

     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 ftp://ftp.funet.fi/pub/languages/perl/CPAN as your CPAN
     site, the file CPAN/misc/japh file is downloadable as
     ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh .

     Considering that there are hundreds of 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.

     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, it might be only in HTML
     format.  But 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 the CPAN/doc directory, which contains the
     complete documentation in various formats, including native pod, troff,
     html, and plain text.  There's also a web page at
     http://www.perl.com/perl/info/documentation.html that might help.

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

     What are the Perl newsgroups on USENET?  Where do I post questions?

     The now defunct comp.lang.perl newsgroup has been superseded by the
     following groups:

         comp.lang.perl.announce             Moderated announcement group
         comp.lang.perl.misc                 Very busy group about Perl in general
         comp.lang.perl.moderated            Moderated discussion group
         comp.lang.perl.modules              Use and development of Perl modules
         comp.lang.perl.tk                   Using Tk (and X) from Perl

         comp.infosystems.www.authoring.cgi  Writing CGI scripts for the Web.

     Actually, the moderated group hasn't passed yet, but we're keeping our
     fingers crossed.

     There is also USENET gateway to the mailing list used by the crack Perl
     development team (perl5-porters) at news://news.perl.com/perl.porters-gw/
     .

     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 Alta Vista, Deja News, and
     search CPAN.  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.  Tom
     Christiansen maintains a list of these books, some with extensive
     reviews, at http://www.perl.com/perl/critiques/index.html.

     The incontestably definitive reference book on Perl, written by the
     creator of Perl, is now in its second edition:

         Programming Perl (the "Camel Book"):
             Authors: Larry Wall, Tom Christiansen, and Randal Schwartz
             ISBN 1-56592-149-6      (English)
             ISBN 4-89052-384-7      (Japanese)
             URL: http://www.oreilly.com/catalog/pperl2/
         (French, German, Italian, and Hungarian translations also
         available)

     The companion volume to the Camel containing thousands of real-world
     examples, mini-tutorials, and complete programs (first premiering at the
     1998 Perl Conference), is:

         The Perl Cookbook (the "Ram Book"):
             Authors: Tom Christiansen and Nathan Torkington,
                         with Foreword by Larry Wall
             ISBN: 1-56592-243-3
             URL:  http://perl.oreilly.com/cookbook/

     If you're already a hard-core systems programmer, then the Camel Book
     might suffice for you to learn Perl from.  But if you're not, check out:

         Learning Perl (the "Llama Book"):
             Authors: Randal Schwartz and Tom Christiansen
                         with Foreword by Larry Wall
             ISBN: 1-56592-284-0
             URL:  http://www.oreilly.com/catalog/lperl2/

     Despite the picture at the URL above, the second edition of "Llama Book"
     really has a blue cover, and is updated for the 5.004 release of Perl.
     Various foreign language editions are available, including Learning Perl
     on Win32 Systems (the Gecko Book).

     If you're not an accidental programmer, but a more serious and possibly
     even degreed computer scientist who doesn't need as much hand-holding as
     we try to provide in the Llama or its defurred cousin the Gecko, please
     check out the delightful book, Perl: The Programmer's Companion, written
     by Nigel Chapman.

     You can order O'Reilly books directly from O'Reilly & Associates, 1-800-
     998-9938.  Local/overseas is 1-707-829-0515.  If you can locate an
     O'Reilly order form, you can also fax to 1-707-829-0104.  See
     http://www.ora.com/ on the Web.

     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 muchly on) Perl follow; those marked with a star
     may be ordered from O'Reilly.

     References

              *Programming Perl
                  by Larry Wall, Tom Christiansen, and Randal L. Schwartz

              *Perl 5 Desktop Reference
                  By Johan Vromans


and Tom Christiansen     with foreword by Larry Wall
     Tutorials                *Learning Perl [2nd edition]  by Randal L. Schwartz

              *Learning Perl on Win32 Systems
                  by Randal L. Schwartz, Erik Olson, and Tom Christiansen,
                      with foreword by Larry Wall

              Perl: The Programmer's Companion
                  by Nigel Chapman

              Cross-Platform Perl
                  by Eric F. Johnson

              MacPerl: Power and Ease
                  by Vicki Brown and Chris Nandor, foreword by Matthias Neeracher
     Task-Oriented

              *The Perl Cookbook
                  by Tom Christiansen and Nathan Torkington
                      with foreword by Larry Wall

              Perl5 Interactive Course [2nd edition]
                  by Jon Orwant

              *Advanced Perl Programming
                  by Sriram Srinivasan

              Effective Perl Programming
                  by Joseph Hall


     Special Topics

              *Mastering Regular Expressions
                  by Jeffrey Friedl

              How to Set up and Maintain a World Wide Web Site [2nd edition]
                  by Lincoln Stein


     Perl in Magazines

     The first and 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.  It is published quarterly
     under the gentle hand of its editor, Jon Orwant.  See http://www.tpj.com/
     or send mail to subscriptions@tpj.com.

     Beyond this, magazines that frequently carry high-quality articles on
     Perl are Web Techniques (see http://www.webtechniques.com/), Performance
     Computing (http://www.performance-computing.com/), and Usenix's
     newsletter/magazine to its members, login:, at http://www.usenix.org/.
     Randal's Web Technique's columns are available on the web at
     http://www.stonehenge.com/merlyn/WebTechniques/.

     Perl on the Net: FTP and WWW Access

     To get the best (and possibly cheapest) performance, pick a site from the
     list below and use it to grab the complete list of mirror sites.  From
     there you can find the quickest site for you.  Remember, the following
     list is not the complete list of CPAN mirrors.

       http://www.perl.com/CPAN      (redirects to another mirror)
       http://www.perl.org/CPAN
       ftp://ftp.funet.fi/pub/languages/perl/CPAN/
       http://www.cs.ruu.nl/pub/PERL/CPAN/
       ftp://ftp.cs.colorado.edu/pub/perl/CPAN/


     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.  The following are a list of mailing lists
     related to perl itself.

     If you subscribe to a mailing list, it behooves you to know how to
     unsubscribe from it.  Strident pleas to the list itself to get you off
     will not be favorably received.

     MacPerl
         There is a mailing list for discussing Macintosh Perl.  Contact
         "mac-perl-request@iis.ee.ethz.ch".

         Also see Matthias Neeracher's (the creator and maintainer of MacPerl)
         webpage at http://www.iis.ee.ethz.ch/~neeri/macintosh/perl.html for
         many links to interesting MacPerl sites, and the applications/MPW
         tools, precompiled.

     Perl5-Porters
         The core development team have a mailing list for discussing fixes
         and changes to the language.  Send mail to "perl5-porters-
         request@perl.org" with help in the body of the message for
         information on subscribing.

     NTPerl
         This list is used to discuss issues involving Win32 Perl 5 (Windows
         NT and Win95). Subscribe by mailing ListManager@ActiveWare.com with
         the message body:

             subscribe Perl-Win32-Users

         The list software, also written in perl, will automatically determine
         your address, and subscribe you automatically.  To unsubscribe, mail
         the following in the message body to the same address like so:

             unsubscribe Perl-Win32-Users

         You can also check http://www.activeware.com/ and select "Mailing
         Lists" to join or leave this list.

     Perl-Packrats
         Discussion related to archiving of perl materials, particularly the
         Comprehensive Perl Archive Network (CPAN). Subscribe by emailing
         majordomo@cis.ufl.edu:

             subscribe perl-packrats

         The list software, also written in perl, will automatically determine
         your address, and subscribe you automatically.  To unsubscribe,
         simple prepend the same command with an "un", and mail to the same
         address like so:

             unsubscribe perl-packrats


     Archives of comp.lang.perl.misc

     Have you tried Deja News or Alta Vista?

     ftp.cis.ufl.edu:/pub/perl/comp.lang.perl.*/monthly has an almost complete
     collection dating back to 12/89 (missing 08/91 through 12/93).  They are
     kept as one large file for each month.

     You'll probably want more a sophisticated query and retrieval mechanism
     than a file listing, preferably one that allows you to retrieve articles
     using a fast-access indices, keyed on at least author, date, subject,
     thread (as in "trn") and probably keywords.  The best solution the FAQ
     authors know of is the MH pick command, but it is very slow to select on
     18000 articles.

     If you have, or know where can be found, the missing sections, please let
     perlfaq-suggestions@perl.com know.

     Where can I buy a commercial version of Perl?

     In a sense, Perl already is commercial software: It has a licence 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,
     dozens of software designers and developers, and thousands of
     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 wrong.
     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.

     Or you can purchase a real support contract.  Although Cygnus
     historically provided this service, they no longer sell support contracts
     for Perl.  Instead, the Paul Ingram Group will be taking up the slack
     through The Perl Clinic.  The following is a commercial from them:
     "Do you need professional support for Perl and/or Oraperl?  Do you need a
     support contract with defined levels of service?  Do you want to pay only
     for what you need?

     "The Paul Ingram Group has provided quality software development and
     support services to some of the world's largest corporations for ten
     years.  We are now offering the same quality support services for Perl at
     The Perl Clinic.  This service is led by Tim Bunce, an active perl porter
     since 1994 and well known as the author and maintainer of the DBI,
     DBD::Oracle, and Oraperl modules and author/co-maintainer of The Perl 5
     Module List.  We also offer Oracle users support for Perl5 Oraperl and
     related modules (which Oracle is planning to ship as part of Oracle Web
     Server 3).  20% of the profit from our Perl support work will be donated
     to The Perl Institute."

     For more information, contact the The Perl Clinic:

         Tel:    +44 1483 424424
         Fax:    +44 1483 419419
         Web:    http://www.perl.co.uk/
         Email:  perl-support-info@perl.co.uk or Tim.Bunce@ig.co.uk

     See also www.perl.com for updates on training and support.

     Where do I send bug reports?

     If you are reporting a bug in the perl interpreter or the modules shipped
     with perl, use the perlbug program in the perl distribution or mail your
     report to perlbug@perl.com.

     If you are posting a bug with a non-standard port (see the answer to
     "What platforms is Perl available for?"), a binary distribution, or a
     non-standard module (such as Tk, CGI, etc), then please see the
     documentation that came with it to determine the correct place to post
     bugs.

     Read the perlbug(1) man page (perl5.004 or later) for more information.

     What is perl.com?  perl.org?  The Perl Institute?

     The perl.com domain is managed by Tom Christiansen, who created it as a
     public service long before perl.org came about.  Despite the name, it's a
     pretty non-commercial site meant to be a clearinghouse for information
     about all things Perlian, accepting no paid advertisements, bouncy happy
     gifs, or silly java applets on its pages.  The Perl Home Page at
     http://www.perl.com/ is currently hosted on a T3 line courtesy of
     Songline Systems, a software-oriented subsidiary of O'Reilly and
     Associates.

     perl.org is the official vehicle for The Perl Institute.  The motto of
     TPI is "helping people help Perl help people" (or something like that).
     It's a non-profit organization supporting development, documentation, and
     dissemination of perl.

     How do I learn about object-oriented Perl programming?

     the perltoot manpage (distributed with 5.004 or later) is a good place to
     start.  Also, the perlobj manpage, the perlref manpage, and the perlmod
     manpage are useful references, while the perlbot manpage has some
     excellent tips and tricks.

AUTHOR AND COPYRIGHT
     Copyright (c) 1997, 1998 Tom Christiansen and Nathan Torkington.  All
     rights reserved.

     When included as an integrated part of the Standard Distribution of Perl
     or of its documentation (printed or otherwise), this works is covered
     under Perl's Artistic Licence.  For separate distributions of all or part
     of this FAQ outside of that, see the perlfaq manpage.

     Irrespective of its distribution, all code examples here are 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
     courteous but is not required.