[ Index ]

PHP Cross Reference of Unnamed Project




/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/pod/ -> perlfaq2.pod (source)

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

Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1