1PERLFAQ2(1)            Perl Programmers Reference Guide            PERLFAQ2(1)
2
3
4

NAME

6       perlfaq2 - Obtaining and Learning about Perl
7

DESCRIPTION

9       This section of the FAQ answers questions about where to find source
10       and documentation for Perl, support, and related matters.
11
12   What machines support perl?  Where do I get it?
13       The standard release of perl (the one maintained by the perl
14       development team) is distributed only in source code form.  You can
15       find the latest releases at http://www.cpan.org/src/README.html .
16
17       Perl builds and runs on a bewildering number of platforms.  Virtually
18       all known and current Unix derivatives are supported (perl's native
19       platform), as are other systems like VMS, DOS, OS/2, Windows, QNX,
20       BeOS, OS X, MPE/iX and the Amiga.
21
22       Binary distributions for some proprietary platforms can be found
23       http://www.cpan.org/ports/ directory. Because these are not part of the
24       standard distribution, they may and in fact do differ from the base
25       perl port in a variety of ways. You'll have to check their respective
26       release notes to see just what the differences are.  These differences
27       can be either positive (e.g. extensions for the features of the
28       particular platform that are not supported in the source release of
29       perl) or negative (e.g. might be based upon a less current source
30       release of perl).
31
32   How can I get a binary version of perl?
33       (contributed by brian d foy)
34
35       ActiveState: Windows, Linux, Mac OS X, Solaris, AIX and HP-UX
36
37               http://www.activestate.com/
38
39       Sunfreeware.com: Solaris 2.5 to Solaris 10 (SPARC and x86)
40
41               http://www.sunfreeware.com/
42
43       Strawberry Perl: Windows, Perl 5.8.8 and 5.10.0
44
45               http://www.strawberryperl.com
46
47       IndigoPerl: Windows
48
49               http://indigostar.com/
50
51   I don't have a C compiler. How can I build my own Perl interpreter?
52       Since you don't have a C compiler, you're doomed and your vendor should
53       be sacrificed to the Sun gods.  But that doesn't help you.
54
55       What you need to do is get a binary version of gcc for your system
56       first.  Consult the Usenet FAQs for your operating system for
57       information on where to get such a binary version.
58
59       You might look around the net for a pre-built binary of Perl (or a C
60       compiler!) that meets your needs, though:
61
62       For Windows, Vanilla Perl ( http://vanillaperl.com/ ) and Strawberry
63       Perl ( http://strawberryperl.com/ ) come with a bundled C compiler.
64       ActivePerl is a pre-compiled version of Perl ready-to-use.
65
66       For Sun systems, SunFreeware.com provides binaries of most popular
67       applications, including compilers and Perl.
68
69   I copied the perl binary from one machine to another, but scripts don't
70       work.
71       That's probably because you forgot libraries, or library paths differ.
72       You really should build the whole distribution on the machine it will
73       eventually live on, and then type "make install".  Most other
74       approaches are doomed to failure.
75
76       One simple way to check that things are in the right place is to print
77       out the hard-coded @INC that perl looks through for libraries:
78
79           % perl -le 'print for @INC'
80
81       If this command lists any paths that don't exist on your system, then
82       you may need to move the appropriate libraries to these locations, or
83       create symbolic links, aliases, or shortcuts appropriately.  @INC is
84       also printed as part of the output of
85
86           % perl -V
87
88       You might also want to check out "How do I keep my own module/library
89       directory?" in perlfaq8.
90
91   I grabbed the sources and tried to compile but gdbm/dynamic
92       loading/malloc/linking/... failed.  How do I make it work?
93       Read the INSTALL file, which is part of the source distribution.  It
94       describes in detail how to cope with most idiosyncrasies that the
95       Configure script can't work around for any given system or
96       architecture.
97
98   What modules and extensions are available for Perl?  What is CPAN?  What
99       does CPAN/src/... mean?
100       CPAN stands for Comprehensive Perl Archive Network, a multi-gigabyte
101       archive replicated on hundreds of machines all over the world. CPAN
102       contains source code, non-native ports, documentation, scripts, and
103       many third-party modules and extensions, designed for everything from
104       commercial database interfaces to keyboard/screen control to web
105       walking and CGI scripts. The master web site for CPAN is
106       http://www.cpan.org/ and there is the CPAN Multiplexer at
107       http://www.cpan.org/CPAN.html which will choose a mirror near you via
108       DNS.  See http://www.perl.com/CPAN (without a slash at the end) for how
109       this process works. Also, http://mirror.cpan.org/ has a nice interface
110       to the http://www.cpan.org/MIRRORED.BY mirror directory.
111
112       See the CPAN FAQ at http://www.cpan.org/misc/cpan-faq.html for answers
113       to the most frequently asked questions about CPAN including how to
114       become a mirror.
115
116       CPAN/path/... is a naming convention for files available on CPAN sites.
117       CPAN indicates the base directory of a CPAN mirror, and the rest of the
118       path is the path from that directory to the file. For instance, if
119       you're using ftp://ftp.funet.fi/pub/languages/perl/CPAN as your CPAN
120       site, the file CPAN/misc/japh is downloadable as
121       ftp://ftp.funet.fi/pub/languages/perl/CPAN/misc/japh .
122
123       Considering that, as of 2006, there are over ten thousand existing
124       modules in the archive, one probably exists to do nearly anything you
125       can think of. Current categories under CPAN/modules/by-category/
126       include Perl core modules; development support; operating system
127       interfaces; networking, devices, and interprocess communication; data
128       type utilities; database interfaces; user interfaces; interfaces to
129       other languages; filenames, file systems, and file locking;
130       internationalization and locale; world wide web support; server and
131       daemon utilities; archiving and compression; image manipulation; mail
132       and news; control flow utilities; filehandle and I/O; Microsoft Windows
133       modules; and miscellaneous modules.
134
135       See http://www.cpan.org/modules/00modlist.long.html or
136       http://search.cpan.org/ for a more complete list of modules by
137       category.
138
139       CPAN is a free service and is not affiliated with O'Reilly Media.
140
141   Is there an ISO or ANSI certified version of Perl?
142       Certainly not.  Larry expects that he'll be certified before Perl is.
143
144   Where can I get information on Perl?
145       The complete Perl documentation is available with the Perl
146       distribution.  If you have Perl installed locally, you probably have
147       the documentation installed as well: type "man perl" if you're on a
148       system resembling Unix.  This will lead you to other important man
149       pages, including how to set your $MANPATH.  If you're not on a Unix
150       system, access to the documentation will be different; for example,
151       documentation might only be in HTML format.  All proper perl
152       installations have fully-accessible documentation.
153
154       You might also try "perldoc perl" in case your system doesn't have a
155       proper man command, or it's been misinstalled.  If that doesn't work,
156       try looking in /usr/local/lib/perl5/pod for documentation.
157
158       If all else fails, consult http://perldoc.perl.org/ which has the
159       complete documentation in HTML and PDF format.
160
161       Many good books have been written about Perl--see the section later in
162       perlfaq2 for more details.
163
164       Tutorial documents are included in current or upcoming Perl releases
165       include perltoot for objects or perlboot for a beginner's approach to
166       objects, perlopentut for file opening semantics, perlreftut for
167       managing references, perlretut for regular expressions, perlthrtut for
168       threads, perldebtut for debugging, and perlxstut for linking C and Perl
169       together.  There may be more by the time you read this.  These URLs
170       might also be useful:
171
172           http://perldoc.perl.org/
173           http://bookmarks.cpan.org/search.cgi?cat=Training%2FTutorials
174
175   What are the Perl newsgroups on Usenet?  Where do I post questions?
176       Several groups devoted to the Perl language are on Usenet:
177
178               comp.lang.perl.announce      Moderated announcement group
179               comp.lang.perl.misc          High traffic general Perl discussion
180               comp.lang.perl.moderated     Moderated discussion group
181               comp.lang.perl.modules       Use and development of Perl modules
182               comp.lang.perl.tk            Using Tk (and X) from Perl
183
184       Some years ago, comp.lang.perl was divided into those groups, and
185       comp.lang.perl itself officially removed.  While that group may still
186       be found on some news servers, it is unwise to use it, because postings
187       there will not appear on news servers which honour the official list of
188       group names.  Use comp.lang.perl.misc for topics which do not have a
189       more-appropriate specific group.
190
191       There is also a Usenet gateway to Perl mailing lists sponsored by
192       perl.org at nntp://nntp.perl.org , a web interface to the same lists at
193       http://nntp.perl.org/group/ and these lists are also available under
194       the "perl.*" hierarchy at http://groups.google.com . Other groups are
195       listed at http://lists.perl.org/ ( also known as http://lists.cpan.org/
196       ).
197
198       A nice place to ask questions is the PerlMonks site,
199       http://www.perlmonks.org/ , or the Perl Beginners mailing list
200       http://lists.perl.org/showlist.cgi?name=beginners .
201
202       Note that none of the above are supposed to write your code for you:
203       asking questions about particular problems or general advice is fine,
204       but asking someone to write your code for free is not very cool.
205
206   Where should I post source code?
207       You should post source code to whichever group is most appropriate, but
208       feel free to cross-post to comp.lang.perl.misc.  If you want to cross-
209       post to alt.sources, please make sure it follows their posting
210       standards, including setting the Followup-To header line to NOT include
211       alt.sources; see their FAQ (
212       http://www.faqs.org/faqs/alt-sources-intro/ ) for details.
213
214       If you're just looking for software, first use Google (
215       http://www.google.com ), Google's usenet search interface (
216       http://groups.google.com ),  and CPAN Search ( http://search.cpan.org
217       ).  This is faster and more productive than just posting a request.
218
219   Perl Books
220       A number of books on Perl and/or CGI programming are available.  A few
221       of these are good, some are OK, but many aren't worth your money.
222       There is a list of these books, some with extensive reviews, at
223       http://books.perl.org/ . If you don't see your book listed here, you
224       can write to perlfaq-workers@perl.org .
225
226       The incontestably definitive reference book on Perl, written by the
227       creator of Perl, is Programming Perl:
228
229               Programming Perl (the "Camel Book"):
230               by Larry Wall, Tom Christiansen, and Jon Orwant
231               ISBN 0-596-00027-8  [3rd edition July 2000]
232               http://www.oreilly.com/catalog/pperl3/
233               (English, translations to several languages are also available)
234
235       The companion volume to the Camel containing thousands of real-world
236       examples, mini-tutorials, and complete programs is:
237
238               The Perl Cookbook (the "Ram Book"):
239               by Tom Christiansen and Nathan Torkington,
240                   with Foreword by Larry Wall
241               ISBN 0-596-00313-7 [2nd Edition August 2003]
242               http://www.oreilly.com/catalog/perlckbk2/
243
244       If you're already a seasoned programmer, then the Camel Book might
245       suffice for you to learn Perl.  If you're not, check out the Llama
246       book:
247
248               Learning Perl
249               by Randal L. Schwartz, Tom Phoenix, and brian d foy
250               ISBN 0-596-10105-8 [4th edition July 2005]
251               http://www.oreilly.com/catalog/learnperl4/
252
253       And for more advanced information on writing larger programs, presented
254       in the same style as the Llama book, continue your education with the
255       Alpaca book:
256
257               Intermediate Perl (the "Alpaca Book")
258               by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway)
259               ISBN 0-596-10206-2 [1st edition March 2006]
260               http://www.oreilly.com/catalog/lrnperlorm/
261
262       Addison-Wesley ( http://www.awlonline.com/ ) and Manning (
263       http://www.manning.com/ ) are also publishers of some fine Perl books
264       such as Object Oriented Programming with Perl by Damian Conway and
265       Network Programming with Perl by Lincoln Stein.
266
267       An excellent technical book discounter is Bookpool at
268       http://www.bookpool.com/ where a 30% discount or more is not unusual.
269
270       What follows is a list of the books that the FAQ authors found
271       personally useful.  Your mileage may (but, we hope, probably won't)
272       vary.
273
274       Recommended books on (or mostly on) Perl follow.
275
276       References
277                   Programming Perl
278                   by Larry Wall, Tom Christiansen, and Jon Orwant
279                   ISBN 0-596-00027-8 [3rd edition July 2000]
280                   http://www.oreilly.com/catalog/pperl3/
281
282                   Perl 5 Pocket Reference
283                   by Johan Vromans
284                   ISBN 0-596-00374-9 [4th edition July 2002]
285                   http://www.oreilly.com/catalog/perlpr4/
286
287       Tutorials
288                   Beginning Perl
289                   by James Lee
290                   ISBN 1-59059-391-X [2nd edition August 2004]
291                   http://apress.com/book/bookDisplay.html?bID=344
292
293                   Elements of Programming with Perl
294                   by Andrew L. Johnson
295                   ISBN 1-884777-80-5 [1st edition October 1999]
296                   http://www.manning.com/johnson/
297
298                   Learning Perl
299                   by Randal L. Schwartz, Tom Phoenix, and brian d foy
300                   ISBN 0-596-52010-7 [5th edition June 2008]
301                   http://oreilly.com/catalog/9780596520106/
302
303                   Intermediate Perl (the "Alpaca Book")
304                   by Randal L. Schwartz and brian d foy, with Tom Phoenix (foreword by Damian Conway)
305                   ISBN 0-596-10206-2 [1st edition March 2006]
306                   http://www.oreilly.com/catalog/intermediateperl/
307
308                   Mastering Perl
309                   by brian d foy
310                   ISBN 0-596-52724-1 [1st edition July 2007]
311                   http://www.oreilly.com/catalog/9780596527242/
312
313       Task-Oriented
314                   Writing Perl Modules for CPAN
315                   by Sam Tregar
316                   ISBN 1-59059-018-X [1st edition Aug 2002]
317                   http://apress.com/book/bookDisplay.html?bID=14
318
319                   The Perl Cookbook
320                   by Tom Christiansen and Nathan Torkington
321                       with foreword by Larry Wall
322                   ISBN 1-56592-243-3 [1st edition August 1998]
323                   http://www.oreilly.com/catalog/cookbook/
324
325                   Effective Perl Programming
326                   by Joseph Hall
327                   ISBN 0-201-41975-0 [1st edition 1998]
328                   http://www.awl.com/
329
330                   Real World SQL Server Administration with Perl
331                   by Linchi Shea
332                   ISBN 1-59059-097-X [1st edition July 2003]
333                   http://apress.com/book/bookDisplay.html?bID=171
334
335       Special Topics
336                   Perl Best Practices
337                   by Damian Conway
338                   ISBN: 0-596-00173-8 [1st edition July 2005]
339                   http://www.oreilly.com/catalog/perlbp/
340
341                   Higher Order Perl
342                   by Mark-Jason Dominus
343                   ISBN: 1558607013 [1st edition March 2005]
344                   http://hop.perl.plover.com/
345
346                   Perl 6 Now: The Core Ideas Illustrated with Perl 5
347                   by Scott Walters
348                   ISBN 1-59059-395-2 [1st edition December 2004]
349                   http://apress.com/book/bookDisplay.html?bID=355
350
351                   Mastering Regular Expressions
352                   by Jeffrey E. F. Friedl
353                   ISBN 0-596-00289-0 [2nd edition July 2002]
354                   http://www.oreilly.com/catalog/regex2/
355
356                   Network Programming with Perl
357                   by Lincoln Stein
358                   ISBN 0-201-61571-1 [1st edition 2001]
359                   http://www.awlonline.com/
360
361                   Object Oriented Perl
362                   Damian Conway
363                       with foreword by Randal L. Schwartz
364                   ISBN 1-884777-79-1 [1st edition August 1999]
365                   http://www.manning.com/conway/
366
367                   Data Munging with Perl
368                   Dave Cross
369                   ISBN 1-930110-00-6 [1st edition 2001]
370                   http://www.manning.com/cross
371
372                   Mastering Perl/Tk
373                   by Steve Lidie and Nancy Walsh
374                   ISBN 1-56592-716-8 [1st edition January 2002]
375                   http://www.oreilly.com/catalog/mastperltk/
376
377                   Extending and Embedding Perl
378                   by Tim Jenness and Simon Cozens
379                   ISBN 1-930110-82-0 [1st edition August 2002]
380                   http://www.manning.com/jenness
381
382                   Perl Debugger Pocket Reference
383                   by Richard Foley
384                   ISBN 0-596-00503-2 [1st edition January 2004]
385                   http://www.oreilly.com/catalog/perldebugpr/
386
387                   Pro Perl Debugging
388                   by Richard Foley with Andy Lester
389                   ISBN 1-59059-454-1 [1st edition July 2005]
390                   http://www.apress.com/book/view/1590594541
391
392   Which magazines have Perl content?
393       The Perl Review ( http://www.theperlreview.com ) focuses on Perl almost
394       completely (although it sometimes sneaks in an article about another
395       language). There's also $foo Magazin, a german magazine dedicated to
396       Perl, at ( http://www.foo-magazin.de ).
397
398       Magazines that frequently carry quality articles on Perl include The
399       Perl Review ( http://www.theperlreview.com ), Unix Review (
400       http://www.unixreview.com/ ), Linux Magazine (
401       http://www.linuxmagazine.com/ ), and Usenix's newsletter/magazine to
402       its members, login: ( http://www.usenix.org/ )
403
404       The Perl columns of Randal L. Schwartz are available on the web at
405       http://www.stonehenge.com/merlyn/WebTechniques/ ,
406       http://www.stonehenge.com/merlyn/UnixReview/ , and
407       http://www.stonehenge.com/merlyn/LinuxMag/ .
408
409       The first (and for a long time, only) periodical devoted to All Things
410       Perl, The Perl Journal contains tutorials, demonstrations, case
411       studies, announcements, contests, and much more.  TPJ has columns on
412       web development, databases, Win32 Perl, graphical programming, regular
413       expressions, and networking, and sponsors the Obfuscated Perl Contest
414       and the Perl Poetry Contests.  Beginning in November 2002, TPJ moved to
415       a reader-supported monthly e-zine format in which subscribers can
416       download issues as PDF documents. In 2006, TPJ merged with Dr.  Dobbs
417       Journal (online edition). To read old TPJ articles, see
418       http://www.ddj.com/ .
419
420   What mailing lists are there for Perl?
421       Most of the major modules (Tk, CGI, libwww-perl) have their own mailing
422       lists.  Consult the documentation that came with the module for
423       subscription information.
424
425       A comprehensive list of Perl related mailing lists can be found at:
426
427               http://lists.perl.org/
428
429   Where are the archives for comp.lang.perl.misc?
430       The Google search engine now carries archived and searchable newsgroup
431       content.
432
433       http://groups.google.com/group/comp.lang.perl.misc/topics
434
435       If you have a question, you can be sure someone has already asked the
436       same question at some point on c.l.p.m. It requires some time and
437       patience to sift through all the content but often you will find the
438       answer you seek.
439
440   Where can I buy a commercial version of perl?
441       In a real sense, perl already is commercial software: it has a license
442       that you can grab and carefully read to your manager. It is distributed
443       in releases and comes in well-defined packages. There is a very large
444       user community and an extensive literature.  The comp.lang.perl.*
445       newsgroups and several of the mailing lists provide free answers to
446       your questions in near real-time.  Perl has traditionally been
447       supported by Larry, scores of software designers and developers, and
448       myriad programmers, all working for free to create a useful thing to
449       make life better for everyone.
450
451       However, these answers may not suffice for managers who require a
452       purchase order from a company whom they can sue should anything go
453       awry.  Or maybe they need very serious hand-holding and contractual
454       obligations.  Shrink-wrapped CDs with perl on them are available from
455       several sources if that will help.  For example, many Perl books
456       include a distribution of perl, as do the O'Reilly Perl Resource Kits
457       (in both the Unix flavor and in the proprietary Microsoft flavor); the
458       free Unix distributions also all come with perl.
459
460   Where do I send bug reports?
461       (contributed by brian d foy)
462
463       First, ensure that you've found an actual bug. Second, ensure you've
464       found an actual bug.
465
466       If you've found a bug with the perl interpreter or one of the modules
467       in the standard library (those that come with Perl), you can use the
468       "perlbug" utility that comes with Perl (>= 5.004). It collects
469       information about your installation to include with your message, then
470       sends the message to the right place.
471
472       To determine if a module came with your version of Perl, you can use
473       the "Module::CoreList" module. It has the information about the modules
474       (with their versions) included with each release of Perl.
475
476       Every CPAN module has a bug tracker set up in RT, http://rt.cpan.org .
477       You can submit bugs to RT either through its web interface or by email.
478       To email a bug report, send it to bug-<distribution-name>@rt.cpan.org .
479       For example, if you wanted to report a bug in "Business::ISBN", you
480       could send a message to bug-Business-ISBN@rt.cpan.org .
481
482       Some modules might have special reporting requirements, such as a
483       Sourceforge or Google Code tracking system, so you should check the
484       module documentation too.
485
486   What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org?
487       Perl.com at http://www.perl.com/ is part of the O'Reilly Network, a
488       subsidiary of O'Reilly Media.
489
490       The Perl Foundation is an advocacy organization for the Perl language
491       which maintains the web site http://www.perl.org/ as a general advocacy
492       site for the Perl language. It uses the domain to provide general
493       support services to the Perl community, including the hosting of
494       mailing lists, web sites, and other services.  There are also many
495       other sub-domains for special topics like learning Perl, Perl news,
496       jobs in Perl, such as:
497
498               http://learn.perl.org/
499               http://use.perl.org/
500               http://jobs.perl.org/
501               http://lists.perl.org/
502
503       Perl Mongers uses the pm.org domain for services related to Perl user
504       groups, including the hosting of mailing lists and web sites.  See the
505       Perl user group web site at http://www.pm.org/ for more information
506       about joining, starting, or requesting services for a Perl user group.
507
508       http://www.cpan.org/ is the Comprehensive Perl Archive Network, a
509       replicated worldwide repository of Perl software, see the What is CPAN?
510       question earlier in this document.
511

REVISION

513       Revision: $Revision$
514
515       Date: $Date$
516
517       See perlfaq for source control details and availability.
518
520       Copyright (c) 1997-2009 Tom Christiansen, Nathan Torkington, and other
521       authors as noted. All rights reserved.
522
523       This documentation is free; you can redistribute it and/or modify it
524       under the same terms as Perl itself.
525
526       Irrespective of its distribution, all code examples here are in the
527       public domain.  You are permitted and encouraged to use this code and
528       any derivatives thereof in your own programs for fun or for profit as
529       you see fit.  A simple comment in the code giving credit to the FAQ
530       would be courteous but is not required.
531
532
533
534perl v5.10.1                      2009-08-15                       PERLFAQ2(1)
Impressum