PERLFAQ2(1)

PERLFAQ2(1)

perlfaq1 Home Page User Commands Index perlfaq3


NNAAMMEE
       perlfaq2 - Obtaining and Learning about Perl ($Revision:
       1.16 $, $Date: 1997/04/23 18:04:09 $)

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

       WWhhaatt mmaacchhiinneess ssuuppppoorrtt PPeerrll??  WWhheerree ddoo II ggeett iitt??

       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 is a
       gzipped archive in POSIX tar format.  This source builds
       with no porting whatsoever on most Unix systems (Perl's
       native environment), as well as Plan 9, VMS, QNX, OS/2,
       and the Amiga.

       Although it's rumored that the (imminent) 5.004 release
       may build on Windows NT, this is yet to be proven.  Binary
       distributions for 32-bit Microsoft systems and for 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

       HHooww ccaann II ggeett aa bbiinnaarryy vveerrssiioonn ooff PPeerrll??

       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 .

       II ddoonn''tt hhaavvee aa CC ccoommppiilleerr oonn mmyy ssyysstteemm..  HHooww ccaann II ccoommppiillee
       ppeerrll??

       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.

       II ccooppiieedd tthhee PPeerrll bbiinnaarryy ffrroomm oonnee mmaacchhiinnee ttoo aannootthheerr,, bbuutt
       ssccrriippttss ddoonn''tt wwoorrkk..

       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.

       II ggrraabbbbeedd tthhee ssoouurrcceess aanndd ttrriieedd ttoo ccoommppiillee bbuutt
       ggddbbmm//ddyynnaammiicc llooaaddiinngg//mmaalllloocc//lliinnkkiinngg//...... ffaaiilleedd..  HHooww ddoo II
       mmaakkee iitt wwoorrkk??

       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.

       WWhhaatt mmoodduulleess aanndd eexxtteennssiioonnss aarree aavvaaiillaabbllee ffoorr PPeerrll??  WWhhaatt
       iiss CCPPAANN??  WWhhaatt ddooeess CCPPAANN//ssrrcc//...... mmeeaann??

       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.

       IIss tthheerree aann IISSOO oorr AANNSSII cceerrttiiffiieedd vveerrssiioonn ooff PPeerrll??

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

       WWhheerree ccaann II ggeett iinnffoorrmmaattiioonn oonn PPeerrll??

       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.  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.

       It's also worth noting that there's a PDF version of the
       complete documentation for perl available in the
       CPAN/authors/id/BMIDD directory.

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

       WWhhaatt aarree tthhee PPeerrll nneewwssggrroouuppss oonn UUSSEENNEETT??  WWhheerree ddoo II ppoosstt
       qquueessttiioonnss??

       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.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.

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

       WWhheerree sshhoouulldd II ppoosstt ssoouurrccee ccooddee??

       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.

       PPeerrll BBooookkss

       A number 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 and his apostles, is now in
       its second edition and fourth printing.

           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)
               (French and German translations in progress)

       Note that O'Reilly books are color-coded: turquoise (some
       would call it teal) covers indicate perl5 coverage, while
       magenta (some would call it pink) covers indicate perl4
       only.  Check the cover color before you buy!

       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.

       If you're already a hard-core systems programmer, then the
       Camel Book just might suffice for you to learn Perl from.
       But if you're not, check out the "Llama Book".  It
       currently doesn't cover perl5, but the 2nd edition is
       nearly done and should be out by summer 97:

           Learning Perl (the Llama Book):
               Author: Randal Schwartz, with intro by Larry Wall
               ISBN 1-56592-042-2      (English)
               ISBN 4-89502-678-1      (Japanese)
               ISBN 2-84177-005-2      (French)
               ISBN 3-930673-08-8      (German)

       Another stand-out book in the turquoise O'Reilly Perl line
       is the "Hip Owls" book.  It covers regular expressions
       inside and out, with quite a bit devoted exclusively to
       Perl:

           Mastering Regular Expressions (the Cute Owls Book):
               Author: Jeffrey Friedl
               ISBN 1-56592-257-3

       You can order any of these books 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.

       Recommended Perl books that are not from O'Reilly are the
       following:

          Cross-Platform Perl, (for Unix and Windows NT)
              Author: Eric F. Johnson
              ISBN: 1-55851-483-X

          How to Set up and Maintain a World Wide Web Site, (2nd edition)
               Author: Lincoln Stein, M.D., Ph.D.
               ISBN: 0-201-63462-7

          CGI Programming in C & Perl,
               Author: Thomas Boutell
               ISBN: 0-201-42219-0

       Note that some of these address specific application areas
       (e.g. the Web) and are not general-purpose programming

       books.

       PPeerrll iinn MMaaggaazziinneess

       The Perl Journal is the first and only magazine dedicated
       to Perl.  It is published (on paper, not online) quarterly
       by Jon Orwant orwant@tpj.com, editor.  Subscription
       information is at http://tpj.com or via email to
       subscriptions@tpj.com.

       Beyond this, two other magazines that frequently carry
       high-quality articles on Perl are Web Techniques (see
       http://www.webtechniques.com/) and Unix Review
       (http://www.unixreview.com/).  Randal Schwartz's Web
       Technique's columns are available on the web at
       http://www.stonehenge.com/merlyn/WebTechniques/ .

       PPeerrll oonn tthhee NNeett:: FFTTPP aanndd WWWWWW AAcccceessss

       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/

       http:/www.oasis.leo.org/perl/ has, amongst other things,
       source to versions 1 through 5 of Perl.

       WWhhaatt mmaaiilliinngg lliissttss aarree tthheerree ffoorr ppeerrll??

       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 emailing
           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, email 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 PerlArchive 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

       AArrcchhiivveess ooff ccoommpp..llaanngg..ppeerrll..mmiisscc

       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.

       PPeerrll TTrraaiinniinngg

       While some large training companies offer their own
       courses on Perl, you may prefer to contact individuals
       near and dear to the heart of Perl development.  Two well-
       known members of the Perl development team who offer such
       things are Tom Christiansen lt;perl-classes@perl.com and
       Randal Schwartz lt;perl-training-info@stonehenge.com, plus
       their respective minions, who offer a variety of
       professional tutorials and seminars on Perl.  These
       courses include large public seminars, private corporate
       training, and fly-ins to Colorado and Oregon.  See
       http://www.perl.com/perl/info/training.html for more
       details.

       WWhheerree ccaann II bbuuyy aa ccoommmmeerrcciiaall vveerrssiioonn ooff PPeerrll??

       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

       WWhheerree ddoo II sseenndd bbuugg rreeppoorrttss??

       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 email 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 man page (perl5.004 or later) for more
       information.

       WWhhaatt iiss ppeerrll..ccoomm??  ppeerrll..oorrgg??  TThhee PPeerrll IInnssttiittuuttee??

       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.  Current directors of TPI include Larry Wall, Tom
       Christiansen, and Randal Schwartz, whom you may have heard
       of somewhere else around here.

       The perl.com domain is Tom Christiansen's domain.  He
       created it as a public service long before perl.org came
       about.  It's the original PBS of the Perl world, a
       clearinghouse for information about all things Perlian,
       accepting no paid advertisements, glossy gifs, or (gasp!)
       java applets on its pages.

       HHooww ddoo II lleeaarrnn aabboouutt oobbjjeecctt--oorriieenntteedd PPeerrll pprrooggrraammmmiinngg??

       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.

AAUUTTHHOORR AANNDD CCOOPPYYRRIIGGHHTT
       Copyright (c) 1997 Tom Christiansen and Nathan Torkington.
       All rights reserved.  See the perlfaq manpage for
       distribution information.

perlfaq1 Home Page User Commands Index perlfaq3