diff options
Diffstat (limited to 'Master/tlpkg/tlperl.straw/lib/pods/perlfaq2.pod')
-rwxr-xr-x | Master/tlpkg/tlperl.straw/lib/pods/perlfaq2.pod | 552 |
1 files changed, 552 insertions, 0 deletions
diff --git a/Master/tlpkg/tlperl.straw/lib/pods/perlfaq2.pod b/Master/tlpkg/tlperl.straw/lib/pods/perlfaq2.pod new file mode 100755 index 00000000000..f578d4140c1 --- /dev/null +++ b/Master/tlpkg/tlperl.straw/lib/pods/perlfaq2.pod @@ -0,0 +1,552 @@ +=head1 NAME + +perlfaq2 - Obtaining and Learning about Perl + +=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 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 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? + +(contributed by brian d foy) + +ActiveState: Windows, Linux, Mac OS X, Solaris, AIX and HP-UX + + http://www.activestate.com/ + +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? + +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. + +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. +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 -le 'print for @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 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 +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, 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. + +CPAN is a free service and is not affiliated with O'Reilly Media. + +=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.perl.org/ which has the +complete documentation in HTML and PDF format. + +Many good books have been written about Perl--see the section later in +L<perlfaq2> 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. These URLs might also be useful: + + http://perldoc.perl.org/ + http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials + +=head2 What are the Perl newsgroups on Usenet? Where do I post questions? + +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 + +Some years ago, comp.lang.perl was divided into those groups, and +comp.lang.perl itself officially removed. While that group may still +be found on some news servers, it is unwise to use it, because +postings there will not appear on news servers which honour the +official list of group names. Use comp.lang.perl.misc for topics +which do not have a more-appropriate specific group. + +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/ , or the Perl Beginners mailing list +http://lists.perl.org/showlist.cgi?name=beginners . + +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. +There is a list of these books, some with extensive reviews, at +http://books.perl.org/ . If you don't see your book listed here, you +can write to perlfaq-workers@perl.org . + +The incontestably definitive reference book on Perl, written by +the creator of Perl, is Programming Perl: + + Programming Perl (the "Camel Book"): + by Larry Wall, Tom Christiansen, and Jon Orwant + ISBN 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 0-596-00313-7 [2nd Edition August 2003] + http://www.oreilly.com/catalog/perlckbk2/ + +If you're already a seasoned programmer, then the Camel Book might +suffice for you to learn Perl. If you're not, check out the +Llama book: + + 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/ + +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: + + 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/ + +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-00374-9 [4th edition July 2002] + http://www.oreilly.com/catalog/perlpr4/ + +=item Tutorials + + Beginning Perl + by James Lee + ISBN 1-59059-391-X [2nd edition August 2004] + http://apress.com/book/bookDisplay.html?bID=344 + + 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, Tom Phoenix, and brian d foy + ISBN 0-596-52010-7 [5th edition June 2008] + http://oreilly.com/catalog/9780596520106/ + + 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 + + Writing Perl Modules for CPAN + by Sam Tregar + ISBN 1-59059-018-X [1st edition Aug 2002] + http://apress.com/book/bookDisplay.html?bID=14 + + 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/ + + Real World SQL Server Administration with Perl + by Linchi Shea + ISBN 1-59059-097-X [1st edition July 2003] + http://apress.com/book/bookDisplay.html?bID=171 + +=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] + http://apress.com/book/bookDisplay.html?bID=355 + + Mastering Regular Expressions + by Jeffrey E. F. Friedl + ISBN 0-596-00289-0 [2nd edition July 2002] + http://www.oreilly.com/catalog/regex2/ + + 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/ + + Extending and Embedding Perl + by Tim Jenness and Simon Cozens + ISBN 1-930110-82-0 [1st edition August 2002] + http://www.manning.com/jenness + + Perl Debugger Pocket Reference + by Richard Foley + 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 Which magazines have Perl content? + +I<The Perl Review> ( 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 ). + +Magazines that frequently carry quality articles on Perl include 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/ . + +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. 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? + +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 Where are the archives for comp.lang.perl.misc? + +The Google search engine now carries archived and searchable newsgroup +content. + +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 +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. + +=head2 Where do I send bug reports? + +(contributed by brian d foy) + +First, ensure that you've found an actual bug. Second, ensure you've +found an actual bug. + +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<perlbug> 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. + +To determine if a module came with your version of Perl, you can +use the C<Module::CoreList> module. It has the information about +the modules (with their versions) included with each release of Perl. + +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-E<lt>distribution-nameE<gt>@rt.cpan.org . For example, if you +wanted to report a bug in C<Business::ISBN>, 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? + +Perl.com at http://www.perl.com/ is part of the O'Reilly Network, a +subsidiary of O'Reilly Media. + +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. 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/ + http://jobs.perl.org/ + http://lists.perl.org/ + +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. + +http://www.cpan.org/ is the Comprehensive Perl Archive Network, +a replicated worldwide repository of Perl software, see +the I<What is CPAN?> question earlier in this document. + +=head1 REVISION + +Revision: $Revision$ + +Date: $Date$ + +See L<perlfaq> for source control details and availability. + +=head1 AUTHOR AND COPYRIGHT + +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 +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. |