


PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


NAME
       perlfaq2 - Obtaining and Learning about Perl ($Revision:
       1.4 $, $Date: 2001/05/24 18:35:53 $)

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.cpan.org/src/lat-
       est.tar.gz , which is in a 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 sup-
       ported (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,
       including Apple systems, can be found
       http://www.cpan.org/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).

       How can I get a binary version of Perl?

       If you don't have a C compiler because your vendor for
       whatever reasons 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.

       Some URLs that might help you are:

           http://www.cpan.org/ports/
           http://language.perl.com/info/software.html

       Someone looking for a Perl for Win16 might look to Laszlo
       Molnar's djgpp port in http://www.cpan.org/ports/#msdos ,
       which comes with clear installation instructions.  A sim-
       ple installation guide for MS-DOS using Ilya Zakharevich's
       OS/2 port is available at



2001-05-24                 perl v5.6.1                          1





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


       http://www.cs.ruu.nl/%7Epiet/perl5dos.html and similarly
       for Windows 3.1 at http://www.cs.ruu.nl/%7Epiet/perl-
       win3.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 oper-
       ating 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 distribu-
       tion 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 -e 'print join("\n",@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 the How do I keep my own
       module/library directory? entry 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 distri-
       bution.  It describes in detail how to cope with most
       idiosyncrasies that the Configure script can't work around
       for any given system or architecture.







2001-05-24                 perl v5.6.1                          2





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


       What modules and extensions are available for Perl?  What
       is CPAN?  What does CPAN/src/... mean?

       CPAN stands for Comprehensive Perl Archive Network, a
       ~700mb archive replicated on nearly 200 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
       http://www.cpan.org/ and there is the CPAN Multiplexer at
       http://www.perl.com/CPAN/CPAN.html which will choose a
       mirror near you via DNS.  See http://www.perl.com/CPAN
       (without a slash at the end) for how this process works.
       Also, http://mirror.cpan.org/ has a nice interface to the
       http://www.cpan.org/MIRRORED.BY mirror directory.

       See the CPAN FAQ at http://www.cpan.org/misc/cpan-faq.html
       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
       ftp://ftp.funet.fi/pub/languages/perl/CPAN as your CPAN
       site, the file CPAN/misc/japh is downloadable as
       ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh .

       Considering that there are close to two 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; network-
       ing, devices, and interprocess communication; data type
       utilities; database interfaces; user interfaces; inter-
       faces 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 mod-
       ules; and miscellaneous modules.

       See http://www.cpan.org/modules/00modlist.long.html or
       http://search.cpan.org/ for a more complete list of mod-
       ules by category.

       Is there an ISO or ANSI certified version of Perl?

       Certainly not.  Larry expects that he'll be certified
       before Perl is.






2001-05-24                 perl v5.6.1                          3





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


       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 exam-
       ple, documentation might only be in HTML format.  All
       proper Perl installations have fully-accessible documenta-
       tion.

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

       If all else fails, consult http://perldoc.cpan.org/ or
       http://www.perldoc.com/ both offer the complete documenta-
       tion in html format.

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

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

           http://perldoc.cpan.org/
           http://www.perldoc.com/
           http://reference.perl.com/query.cgi?tutorials
           http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials


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

       The now defunct comp.lang.perl newsgroup has been super-
       seded 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




2001-05-24                 perl v5.6.1                          4





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


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

       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
       (http://www.faqs.org/faqs/alt-sources-intro/) for details.

       If you're just looking for software, first use Google
       (http://www.google.com), Deja (http://www.deja.com), and
       CPAN Search (http://search.cpan.org).  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, writ-
       ten by the creator of Perl, is now (July 2000) in its
       third edition:

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

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

           The Perl Cookbook (the "Ram Book"):
               by Tom Christiansen and Nathan Torkington,
                   with Foreword by Larry Wall
               ISBN 1-56592-243-3 [1st Edition August 1998]
               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.  If
       you're not, check out





2001-05-24                 perl v5.6.1                          5





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


           Learning Perl (the "Llama Book"):
               by Randal Schwartz and Tom Christiansen
                           with Foreword by Larry Wall
               ISBN 1-56592-284-0 [2nd Edition July 1997]
               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 was 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.

       Addison-Wesley (http://www.awlonline.com/) and Manning
       (http://www.manning.com/) are also publishers of some fine
       Perl books such as Object Oriented Programming with Perl
       by Damian Conway and Network Programming with Perl by Lin-
       coln Stein.

       An excellent technical book discounter is Bookpool at
       http://www.bookpool.com/ where a 30% discount or more is
       not unusual.

       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.

       References
               Programming Perl
                   by Larry Wall, Tom Christiansen, and Jon Orwant
                   ISBN 0-596-00027-8 [3rd edition July 2000]
                   http://www.oreilly.com/catalog/pperl3/

               Perl 5 Pocket Reference
                   by Johan Vromans
                   ISBN 0-596-00032-4 [3rd edition May 2000]
                   http://www.oreilly.com/catalog/perlpr3/

               Perl in a Nutshell
                   by Ellen Siever, Stephan Spainhour, and Nathan Patwardhan
                   ISBN 1-56592-286-7 [1st edition December 1998]
                   http://www.oreilly.com/catalog/perlnut/


       Tutorials




2001-05-24                 perl v5.6.1                          6





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


               Elements of Programming with Perl
                   by Andrew L. Johnson
                   ISBN 1884777805 [1st edition October 1999]
                   http://www.manning.com/Johnson/

               Learning Perl
                   by Randal L. Schwartz and Tom Christiansen
                       with foreword by Larry Wall
                   ISBN 1-56592-284-0 [2nd edition July 1997]
                   http://www.oreilly.com/catalog/lperl2/

               Learning Perl on Win32 Systems
                   by Randal L. Schwartz, Erik Olson, and Tom Christiansen,
                       with foreword by Larry Wall
                   ISBN 1-56592-324-3 [1st edition August 1997]
                   http://www.oreilly.com/catalog/lperlwin/

               Perl: The Programmer's Companion
                   by Nigel Chapman
                   ISBN 0-471-97563-X  [1st edition October 1997]
                   http://catalog.wiley.com/title.cgi?isbn=047197563X

               Cross-Platform Perl
                   by Eric Foster-Johnson
                   ISBN 1-55851-483-X [2nd edition September 2000]
                   http://www.pconline.com/~erc/perlbook.htm

               MacPerl: Power and Ease
                   by Vicki Brown and Chris Nandor,
                       with foreword by Matthias Neeracher
                   ISBN 1-881957-32-2 [1st edition May 1998]
                   http://www.macperl.com/ptf_book/


       Task-Oriented
               The Perl Cookbook
                   by Tom Christiansen and Nathan Torkington
                       with foreword by Larry Wall
                   ISBN 1-56592-243-3 [1st edition August 1998]
                   http://www.oreilly.com/catalog/cookbook/

               Effective Perl Programming
                   by Joseph Hall
                   ISBN 0-201-41975-0 [1st edition 1998]
                   http://www.awl.com/


       Special Topics
               Mastering Regular Expressions
                   by Jeffrey E. F. Friedl
                   ISBN 1-56592-257-3 [1st edition January 1997]
                   http://www.oreilly.com/catalog/regex/





2001-05-24                 perl v5.6.1                          7





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


               Network Programming with Perl
                   by Lincoln Stein
                   ISBN 0-201-61571-1 [1st edition 2001]
                   http://www.awlonline.com/

               Object Oriented Perl
                   Damian Conway
                       with foreword by Randal L. Schwartz
                   ISBN 1884777791 [1st edition August 1999]
                   http://www.manning.com/Conway/

               Data Munging with Perl
                   Dave Cross
                   ISBN 1930110006 [1st edition 2001]
                   http://www.manning.com/cross

               Learning Perl/Tk
                   by Nancy Walsh
                   ISBN 1-56592-314-6 [1st edition January 1999]
                   http://www.oreilly.com/catalog/lperltk/


       Perl in Magazines

       The first and only periodical devoted to All Things Perl,
       The Perl Journal contained tutorials, demonstrations, case
       studies, announcements, contests, and much more.  TPJ had
       columns on web development, databases, Win32 Perl, graphi-
       cal programming, regular expressions, and networking, and
       sponsored the Obfuscated Perl Contest. Sadly, this publi-
       cation is no longer in circulation, but should it be res-
       urrected, it will most likely be announced on
       http://use.perl.org/ .

       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/mer-
       lyn/WebTechniques/ .

       Perl on the Net: FTP and WWW Access

       To get the best performance, pick a site from the list
       below and use it to grab the complete list of mirror sites
       which is at /CPAN/MIRRORED.BY or at http://mir-
       ror.cpan.org/.  From there you can find the quickest site
       for you.  Remember, the following list is not the complete
       list of CPAN mirrors (the complete list contains 165 sites
       as of January 2001):





2001-05-24                 perl v5.6.1                          8





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


         http://www.cpan.org/
         http://www.perl.com/CPAN/
         http://download.sourceforge.net/mirrors/CPAN/
         ftp://ftp.digital.com/pub/plan/perl/CPAN/
         ftp://ftp.flirble.org/pub/languages/perl/CPAN/
         ftp://ftp.uvsq.fr/pub/perl/CPAN/
         ftp://ftp.funet.fi/pub/languages/perl/CPAN/
         ftp://ftp.dti.ad.jp/pub/lang/CPAN/
         ftp://mirror.aarnet.edu.au/pub/perl/CPAN/
         ftp://cpan.if.usp.br/pub/mirror/CPAN/

       One may also use xx.cpan.org where "xx" is the 2-letter
       country code for your domain; e.g. Australia would use
       au.cpan.org.

       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.

               http://lists.cpan.org/


       Archives of comp.lang.perl.misc

       Have you tried Deja or AltaVista?  Those are the best
       archives.  Just look up "*perl*" as a newsgroup.

           http://www.deja.com/dnquery.xp?QRY=&DBS=2&ST=PS&defaultOp=AND&LNG=ALL&format=terse&showsort=date&maxhits=25&subjects=&groups=*perl*&authors=&fromdate=&todate=

       You might want to trim that down a bit, though.

       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 sec-
       tions, please let perlfaq-suggestions@perl.com know.

       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



2001-05-24                 perl v5.6.1                          9





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


       developers, and myriads 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 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 Perl.

       Alternatively, you can purchase commercial incidence based
       support through the Perl Clinic.  The following is a com-
       mercial from them:

       "The Perl Clinic is a commercial Perl support service
       operated by ActiveState Tool Corp. and The Ingram Group.
       The operators have many years of in-depth experience with
       Perl applications and Perl internals on a wide range of
       platforms.

       "Through our group of highly experienced and well-trained
       support engineers, we will put our best effort into under-
       standing your problem, providing an explanation of the
       situation, and a recommendation on how to proceed."

       Contact The Perl Clinic at

           www.PerlClinic.com

           North America Pacific Standard Time (GMT-8)
           Tel:    1 604 606-4611 hours 8am-6pm
           Fax:    1 604 606-4640

           Europe (GMT)
           Tel:    00 44 1483 862814
           Fax:    00 44 1483 862801

       See also www.perl.com for updates on tutorials, 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.org
       .

       If you are posting a bug with a non-standard port (see the
       answer to "What platforms is Perl available for?"), a



2001-05-24                 perl v5.6.1                         10





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


       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 Mongers? pm.org? perl.org?

       The Perl Home Page at http://www.perl.com/ is currently
       hosted on a T3 line courtesy of Songline Systems, a soft-
       ware-oriented subsidiary of O'Reilly and Associates. Other
       starting points include

           http://language.perl.com/
           http://conference.perl.com/
           http://reference.perl.com/

       Perl Mongers is an advocacy organization for the Perl lan-
       guage which maintains the web site http://www.perl.org/ as
       a general advocacy site for the Perl language.

       Perl Mongers uses the pm.org 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
       http://www.pm.org/ for more information about joining,
       starting, or requesting services for a Perl user group.

       Perl Mongers also maintain the perl.org domain to provide
       general support services to the Perl community, including
       the hosting of mailing lists, web sites, and other ser-
       vices.  The web site http://www.perl.org/ is a general
       advocacy site for the Perl language, and there are many
       other sub-domains for special topics, such as

           http://bugs.perl.org/
           http://history.perl.org/
           http://lists.perl.org/
           http://news.perl.org/
           http://use.perl.org/


AUTHOR AND COPYRIGHT
       Copyright (c) 1997-2001 Tom Christiansen and Nathan Tork-
       ington.  All rights reserved.

       When included as an integrated part of the Standard Dis-
       tribution of Perl or of its documentation (printed or oth-
       erwise), this works is covered under Perl's Artistic
       License.  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 in the public domain.  You are permitted and



2001-05-24                 perl v5.6.1                         11





PERLFAQ2(1)      Perl Programmers Reference Guide     PERLFAQ2(1)


       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.





















































2001-05-24                 perl v5.6.1                         12


