home *** CD-ROM | disk | FTP | other *** search
- =head1 NAME
-
- perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.17 $, $Date: 2002/11/16 23:33:08 $)
-
- =head1 DESCRIPTION
-
- This section of the FAQ answers questions about where to find
- source and documentation for Perl, support, and
- related matters.
-
- =head2 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/latest.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 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, 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).
-
- =head2 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://www.perl.com/pub/language/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 simple installation guide for MS-DOS using
- Ilya Zakharevich's OS/2 port is available at
- http://www.cs.ruu.nl/%7Epiet/perl5dos.html
- and similarly for Windows 3.1 at http://www.cs.ruu.nl/%7Epiet/perlwin3.html .
-
- =head2 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.
-
- =head2 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 C<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
- L<perlfaq8/"How do I keep my own module/library directory?">.
-
- =head2 I grabbed the sources and tried to compile but gdbm/dynamic loading/malloc/linking/... failed. How do I make it work?
-
- Read the F<INSTALL> file, which is part of the source distribution.
- It describes in detail how to cope with most idiosyncrasies that the
- Configure script can't work around for any given system or
- architecture.
-
- =head2 What modules and extensions are available for Perl? What is CPAN? What does CPAN/src/... mean?
-
- CPAN stands for Comprehensive Perl Archive Network, a ~1.2Gb 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.cpan.org/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; 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 http://www.cpan.org/modules/00modlist.long.html or
- http://search.cpan.org/ for a more complete list of modules by category.
-
- CPAN is not affiliated with O'Reilly and Associates.
-
- =head2 Is there an ISO or ANSI certified version of Perl?
-
- Certainly not. Larry expects that he'll be certified before Perl is.
-
- =head2 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 C<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 C<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 http://perldoc.cpan.org/ or
- http://www.perldoc.com/ both offer the complete documentation
- in html format.
-
- Many good books have been written about Perl--see the section below
- for more details.
-
- Tutorial documents are included in current or upcoming Perl releases
- include L<perltoot> for objects or L<perlboot> for a beginner's
- approach to objects, L<perlopentut> for file opening semantics,
- L<perlreftut> for managing references, L<perlretut> for regular
- expressions, L<perlthrtut> for threads, L<perldebtut> for debugging,
- and L<perlxstut> 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://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials
-
- =head2 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.
-
- There is also a Usenet gateway to Perl mailing lists sponsored by perl.org at
- nntp://nntp.perl.org , a web interface to the same lists at
- http://nntp.perl.org/group/ and these lists are also available under the
- C<perl.*> hierarchy at http://groups.google.com . Other groups are listed at
- http://lists.perl.org/ ( also known as http://lists.cpan.org/ ).
-
- A nice place to ask questions is the PerlMonks site, http://www.perlmonks.org/
-
- 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.
-
- =head2 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 ), Google's usenet search interface
- ( http://groups.google.com ), and CPAN Search ( http://search.cpan.org ).
- This is faster and more productive than just posting a request.
-
- =head2 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 (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 seasoned programmer, then the Camel Book might
- suffice for you to learn Perl from. If you're not, check out the
- Llama book:
-
- Learning Perl (the "Llama Book")
- by Randal L. Schwartz and Tom Phoenix
- ISBN 0-596-00132-0 [3rd edition July 2001]
- http://www.oreilly.com/catalog/lperl3/
-
- 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, please check out the
- delightful book
-
- Perl: The Programmer's Companion
- by Nigel Chapman
- ISBN 0-471-97563-X [1997, 3rd printing Spring 1998]
- http://www.wiley.com/compbooks/catalog/97563-X.htm
- http://www.wiley.com/compbooks/chapman/perl/perltpc.html (errata etc)
-
- If you are more at home in Windows the following is available
- (though unfortunately rather dated).
-
- Learning Perl on Win32 Systems (the "Gecko Book")
- 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/
-
- Addison-Wesley ( http://www.awlonline.com/ ) and Manning
- ( http://www.manning.com/ ) are also publishers of some fine Perl books
- such as I<Object Oriented Programming with Perl> by Damian Conway and
- I<Network Programming with Perl> by Lincoln 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.
-
- =over 4
-
- =item 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/
-
- =item Tutorials
-
- Elements of Programming with Perl
- by Andrew L. Johnson
- ISBN 1-884777-80-5 [1st edition October 1999]
- http://www.manning.com/Johnson/
-
- Learning Perl
- by Randal L. Schwartz and Tom Phoenix
- ISBN 0-596-00132-0 [3rd edition July 2001]
- http://www.oreilly.com/catalog/lperl3/
-
- 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 [1997, 3rd printing Spring 1998]
- http://www.wiley.com/compbooks/catalog/97563-X.htm
- http://www.wiley.com/compbooks/chapman/perl/perltpc.html (errata etc)
-
- 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/
-
- =item 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/
-
-
- =item 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/
-
- 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 1-884777-79-1 [1st edition August 1999]
- http://www.manning.com/Conway/
-
- Data Munging with Perl
- Dave Cross
- ISBN 1-930110-00-6 [1st edition 2001]
- http://www.manning.com/cross
-
- Mastering Perl/Tk
- by Steve Lidie and Nancy Walsh
- ISBN 1-56592-716-8 [1st edition January 2002]
- http://www.oreilly.com/catalog/mastperltk/
-
- =back
-
- =head2 Perl in Magazines
-
- The first (and for a long time, only) periodical devoted to All Things Perl,
- I<The Perl Journal> contains tutorials, demonstrations, case studies,
- announcements, contests, and much more. I<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. As of mid-2001, the dead tree version
- of TPJ will be published as a quarterly supplement of SysAdmin
- magazine ( http://www.sysadminmag.com/ ) For more details on TPJ,
- see http://www.tpj.com/
-
- Beyond this, magazines that frequently carry quality articles on
- Perl are I<The Perl Review> ( http://www.theperlreview.com ),
- I<Unix Review> ( http://www.unixreview.com/ ),
- I<Linux Magazine> ( http://www.linuxmagazine.com/ ),
- and Usenix's newsletter/magazine to its members, I<login:>
- ( http://www.usenix.org/ )
-
- The Perl columns of Randal L. Schwartz are available on the web at
- http://www.stonehenge.com/merlyn/WebTechniques/ ,
- http://www.stonehenge.com/merlyn/UnixReview/ , and
- http://www.stonehenge.com/merlyn/LinuxMag/ .
-
- =head2 Perl on the Net: FTP and WWW Access
-
- To get the best performance, pick a site from the list at
- http://www.cpan.org/SITES.html . From there you can find the quickest
- site for you.
-
- You 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. [Note: This
- only applies to countries that host at least one mirror.]
-
- =head2 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:
-
- http://lists.perl.org/
-
- =head2 Archives of comp.lang.perl.misc
-
- The Google search engine now carries archived and searchable newsgroup
- content.
-
- http://groups.google.com/groups?group=comp.lang.perl.misc
-
- 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.
-
- =head2 Where can I buy a commercial version of Perl?
-
- In a real sense, Perl already I<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 Perl.
-
- Alternatively, you can purchase commercial incidence based support
- through the Perl Clinic. The following is a commercial 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 understanding 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.
-
- =head2 Where do I send bug reports?
-
- If you are reporting a bug in the perl interpreter or the modules
- shipped with Perl, use the I<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 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.
-
- =head2 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
-
- The Perl Home Page at http://www.perl.com/ is currently hosted by
- The O'Reilly Network, a subsidiary of O'Reilly and Associates.
-
- Perl Mongers is an advocacy organization for the Perl language 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 services. 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://use.perl.org/
-
- http://www.cpan.org/ is the Comprehensive Perl Archive Network,
- a replicated worlwide repository of Perl software, see
- the I<What is CPAN?> question earlier in this document.
-
- =head1 AUTHOR AND COPYRIGHT
-
- Copyright (c) 1997-2001 Tom Christiansen and Nathan Torkington.
- 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 courteous but is not required.
-