X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlfaq2.pod;h=f578d4140c16ffe44dbe431abaeae4f109be0aae;hb=a22f28a4268aa03ce2bafaf594271b8ff764a5f8;hp=0fd1d262533906b659da8bf2133a7a58c73541c3;hpb=9e72e4c611b0297cb770c791d72e9d74b901d604;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlfaq2.pod b/pod/perlfaq2.pod index 0fd1d26..f578d41 100644 --- a/pod/perlfaq2.pod +++ b/pod/perlfaq2.pod @@ -1,6 +1,6 @@ =head1 NAME -perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.35 $, $Date: 2005/10/13 19:43:13 $) +perlfaq2 - Obtaining and Learning about Perl =head1 DESCRIPTION @@ -12,43 +12,42 @@ related matters. 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). +can find the latest releases at http://www.cpan.org/src/README.html . 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). +Binary distributions for some proprietary platforms 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. +(contributed by brian d foy) -Some URLs that might help you are: +ActiveState: Windows, Linux, Mac OS X, Solaris, AIX and HP-UX - http://www.cpan.org/ports/ - http://www.perl.com/pub/language/info/software.html + http://www.activestate.com/ -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 . +Sunfreeware.com: Solaris 2.5 to Solaris 10 (SPARC and x86) + + http://www.sunfreeware.com/ + +Strawberry Perl: Windows, Perl 5.8.8 and 5.10.0 + + http://www.strawberryperl.com + +IndigoPerl: Windows + + http://indigostar.com/ =head2 I don't have a C compiler. How can I build my own Perl interpreter? @@ -59,6 +58,17 @@ What you need to do is get a binary version of gcc for your system first. Consult the Usenet FAQs for your operating system for information on where to get such a binary version. +You might look around the net for a pre-built binary of Perl (or a +C compiler!) that meets your needs, though: + +For Windows, Vanilla Perl ( http://vanillaperl.com/ ) and Strawberry Perl +( http://strawberryperl.com/ ) come with a +bundled C compiler. ActivePerl is a pre-compiled version of Perl +ready-to-use. + +For Sun systems, SunFreeware.com provides binaries of most popular +applications, including compilers and Perl. + =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. @@ -90,46 +100,46 @@ 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 +CPAN stands for Comprehensive Perl Archive Network, a multi-gigabyte +archive replicated on hundreds of machines all over the world. CPAN +contains source code, non-native ports, documentation, scripts, and +many third-party modules and extensions, designed for everything from commercial database interfaces to keyboard/screen control to web -walking and CGI scripts. The master web site for CPAN is +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. +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. +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 +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. +Considering that, as of 2006, there are over ten thousand existing +modules in the archive, one probably exists to do nearly anything you +can think of. Current categories under CPAN/modules/by-category/ +include Perl core modules; development support; operating system +interfaces; networking, devices, and interprocess communication; data +type utilities; database interfaces; user interfaces; interfaces to +other languages; filenames, file systems, and file locking; +internationalization and locale; world wide web support; server and +daemon utilities; archiving and compression; image manipulation; mail +and news; control flow utilities; filehandle and I/O; Microsoft +Windows modules; and miscellaneous modules. See http://www.cpan.org/modules/00modlist.long.html or -http://search.cpan.org/ for a more complete list of modules by category. +http://search.cpan.org/ for a more complete list of modules by +category. -CPAN is not affiliated with O'Reilly Media. +CPAN is a free service and is not affiliated with O'Reilly Media. =head2 Is there an ISO or ANSI certified version of Perl? @@ -152,8 +162,8 @@ work, try looking in /usr/local/lib/perl5/pod for documentation. If all else fails, consult http://perldoc.perl.org/ which has the complete documentation in HTML and PDF format. -Many good books have been written about Perl--see the section below -for more details. +Many good books have been written about Perl--see the section later in +L for more details. Tutorial documents are included in current or upcoming Perl releases include L for objects or L for a beginner's @@ -170,13 +180,11 @@ by the time you read this. These URLs might also be useful: Several groups devoted to the Perl language are on Usenet: - comp.lang.perl.announce Moderated announcement group - comp.lang.perl.misc High traffic general Perl discussion - comp.lang.perl.moderated Moderated discussion group - comp.lang.perl.modules Use and development of Perl modules - comp.lang.perl.tk Using Tk (and X) from Perl - - comp.infosystems.www.authoring.cgi Writing CGI scripts for the Web. + comp.lang.perl.announce Moderated announcement group + comp.lang.perl.misc High traffic general Perl discussion + comp.lang.perl.moderated Moderated discussion group + comp.lang.perl.modules Use and development of Perl modules + comp.lang.perl.tk Using Tk (and X) from Perl Some years ago, comp.lang.perl was divided into those groups, and comp.lang.perl itself officially removed. While that group may still @@ -252,31 +260,11 @@ And for more advanced information on writing larger programs, presented in the same style as the Llama book, continue your education with the Alpaca book: - Learning Perl Objects, References, and Modules (the "Alpaca Book") - by Randal L. Schwartz, with Tom Phoenix (foreword by Damian Conway) - ISBN 0-596-00478-8 [1st edition June 2003] + Intermediate Perl (the "Alpaca Book") + by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway) + ISBN 0-596-10206-2 [1st edition March 2006] http://www.oreilly.com/catalog/lrnperlorm/ -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 by Damian Conway and @@ -301,8 +289,8 @@ Recommended books on (or mostly on) Perl follow. Perl 5 Pocket Reference by Johan Vromans - ISBN 0-596-00032-4 [3rd edition May 2000] - http://www.oreilly.com/catalog/perlpr3/ + ISBN 0-596-00374-9 [4th edition July 2002] + http://www.oreilly.com/catalog/perlpr4/ =item Tutorials @@ -314,17 +302,22 @@ Recommended books on (or mostly on) Perl follow. Elements of Programming with Perl by Andrew L. Johnson ISBN 1-884777-80-5 [1st edition October 1999] - http://www.manning.com/Johnson/ + http://www.manning.com/johnson/ Learning Perl by Randal L. Schwartz, Tom Phoenix, and brian d foy - ISBN 0-596-10105-8 [4th edition July 2005] - http://www.oreilly.com/catalog/learnperl4/ + ISBN 0-596-52010-7 [5th edition June 2008] + http://oreilly.com/catalog/9780596520106/ - Learning Perl Objects, References, and Modules - by Randal L. Schwartz, with Tom Phoenix (foreword by Damian Conway) - ISBN 0-596-00478-8 [1st edition June 2003] - http://www.oreilly.com/catalog/lrnperlorm/ + Intermediate Perl (the "Alpaca Book") + by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway) + ISBN 0-596-10206-2 [1st edition March 2006] + http://www.oreilly.com/catalog/intermediateperl/ + + Mastering Perl + by brian d foy + ISBN 0-596-52724-1 [1st edition July 2007] + http://www.oreilly.com/catalog/9780596527242/ =item Task-Oriented @@ -351,9 +344,19 @@ Recommended books on (or mostly on) Perl follow. =item Special Topics + Perl Best Practices + by Damian Conway + ISBN: 0-596-00173-8 [1st edition July 2005] + http://www.oreilly.com/catalog/perlbp/ + + Higher Order Perl + by Mark-Jason Dominus + ISBN: 1558607013 [1st edition March 2005] + http://hop.perl.plover.com/ + Perl 6 Now: The Core Ideas Illustrated with Perl 5 by Scott Walters - ISBN 1-59059-395-2 [1st edition December 2004 + ISBN 1-59059-395-2 [1st edition December 2004] http://apress.com/book/bookDisplay.html?bID=355 Mastering Regular Expressions @@ -370,7 +373,7 @@ Recommended books on (or mostly on) Perl follow. Damian Conway with foreword by Randal L. Schwartz ISBN 1-884777-79-1 [1st edition August 1999] - http://www.manning.com/Conway/ + http://www.manning.com/conway/ Data Munging with Perl Dave Cross @@ -392,40 +395,41 @@ Recommended books on (or mostly on) Perl follow. ISBN 0-596-00503-2 [1st edition January 2004] http://www.oreilly.com/catalog/perldebugpr/ + Pro Perl Debugging + by Richard Foley with Andy Lester + ISBN 1-59059-454-1 [1st edition July 2005] + http://www.apress.com/book/view/1590594541 + =back -=head2 Perl in Magazines +=head2 Which magazines have Perl content? -The first (and for a long time, only) periodical devoted to All Things Perl, -I contains tutorials, demonstrations, case studies, -announcements, contests, and much more. I has columns on web -development, databases, Win32 Perl, graphical programming, regular -expressions, and networking, and sponsors the Obfuscated Perl Contest -and the Perl Poetry Contests. Beginning in November 2002, TPJ moved to a -reader-supported monthly e-zine format in which subscribers can download -issues as PDF documents. For more details on TPJ, see http://www.tpj.com/ +I ( http://www.theperlreview.com ) focuses on Perl +almost completely (although it sometimes sneaks in an article about +another language). There's also I<$foo Magazin>, a german magazine +dedicated to Perl, at ( http://www.foo-magazin.de ). -Beyond this, magazines that frequently carry quality articles on -Perl are I ( http://www.theperlreview.com ), -I ( http://www.unixreview.com/ ), -I ( http://www.linuxmagazine.com/ ), -and Usenix's newsletter/magazine to its members, I -( http://www.usenix.org/ ) +Magazines that frequently carry quality articles on Perl include I ( http://www.theperlreview.com ), I ( +http://www.unixreview.com/ ), I ( +http://www.linuxmagazine.com/ ), and Usenix's newsletter/magazine to +its members, I ( 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.] +The first (and for a long time, only) periodical devoted to All Things +Perl, I contains tutorials, demonstrations, case +studies, announcements, contests, and much more. I has columns +on web development, databases, Win32 Perl, graphical programming, +regular expressions, and networking, and sponsors the Obfuscated Perl +Contest and the Perl Poetry Contests. Beginning in November 2002, TPJ +moved to a reader-supported monthly e-zine format in which subscribers +can download issues as PDF documents. In 2006, TPJ merged with Dr. +Dobbs Journal (online edition). To read old TPJ articles, see +http://www.ddj.com/ . =head2 What mailing lists are there for Perl? @@ -437,12 +441,12 @@ A comprehensive list of Perl related mailing lists can be found at: http://lists.perl.org/ -=head2 Archives of comp.lang.perl.misc +=head2 Where are the archives for 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 +http://groups.google.com/group/comp.lang.perl.misc/topics 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 @@ -472,20 +476,31 @@ also all come with perl. =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 program in the Perl distribution or -mail your report to perlbug@perl.org or at http://rt.perl.org/perlbug/ . +(contributed by brian d foy) + +First, ensure that you've found an actual bug. Second, ensure you've +found an actual bug. -For Perl modules, you can submit bug reports to the Request Tracker set -up at http://rt.cpan.org . +If you've found a bug with the perl interpreter or one of the modules +in the standard library (those that come with Perl), you can use the +C utility that comes with Perl (>= 5.004). It collects +information about your installation to include with your message, then +sends the message to the right place. -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. +To determine if a module came with your version of Perl, you can +use the C module. It has the information about +the modules (with their versions) included with each release of Perl. -Read the perlbug(1) man page (perl5.004 or later) for more information. +Every CPAN module has a bug tracker set up in RT, http://rt.cpan.org . +You can submit bugs to RT either through its web interface or by +email. To email a bug report, send it to +bug-Edistribution-nameE@rt.cpan.org . For example, if you +wanted to report a bug in C, you could send a message to +bug-Business-ISBN@rt.cpan.org . + +Some modules might have special reporting requirements, such as a +Sourceforge or Google Code tracking system, so you should check the +module documentation too. =head2 What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? @@ -496,9 +511,9 @@ The Perl Foundation 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. It uses the 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 +of mailing lists, web sites, and other services. There are also many +other sub-domains for special topics like learning Perl, Perl news, jobs +in Perl, such as: http://learn.perl.org/ http://use.perl.org/ @@ -514,9 +529,17 @@ http://www.cpan.org/ is the Comprehensive Perl Archive Network, a replicated worldwide repository of Perl software, see the I question earlier in this document. +=head1 REVISION + +Revision: $Revision$ + +Date: $Date$ + +See L for source control details and availability. + =head1 AUTHOR AND COPYRIGHT -Copyright (c) 1997-2005 Tom Christiansen, Nathan Torkington, and +Copyright (c) 1997-2009 Tom Christiansen, Nathan Torkington, and other authors as noted. All rights reserved. This documentation is free; you can redistribute it and/or modify it