Perl FAQ Information Sources

This posting contains answers to general information questions, mostly of about information sources.

  1. Is there a USENET group for Perl?

    Yes there is: comp.lang.perl. This group, which currently can get up to 100 messages per day, contains all kinds of discussions about Perl; everything from bug reports to new features to the history to humour and trivia. This is the best source of information about anything Perl related, especially what's new with Perl5. Because of it's vast array of topics, it functions as both a comp.lang.* style newsgroup (providing technical information) and also as a rec.* style newsgroup, kind of a support group for Perl addicts (PerlAnon?).

    Larry is a frequent poster to this group as well as most (all?) of the seasoned Perl programmers. Questions will be answered by some of the most knowledgable Perl Hackers, often within minutes of a question being posted (give or take distribution times).

  2. Have any books or magazine articles been published about Perl?

    There have been quite a few books and articles. The most well known and most useful book for 4.036 and earlier is _Programming Perl_ (affectionately known as ``the Camel Book''), written by Larry and Randal Schwartz*, published by O'Reilly & Associates as part of their Nutshell Handbook Series (ISBN: 0-937175-64-1). Besides serving as a reference guide for Perl, it also contains tutorial material and is a great source of examples and cookbook procedures, as well as wit and wisdom, tricks and traps, pranks and pitfalls. The code examples contained therein are available via anonymous FTP from ftp.ora.com in /pub/examples/nutshell/programming_perl/perl.tar.Z or at ftp.cis.ufl.edu in /pub/perl/ora/programming_perl. Corrections and additions to the book can be found in the Perl man page right before the BUGS section under the heading ERRATA AND ADDENDA.

    A new version of the Camel book, revised and updated for Perl5 is due out sometime around spring of next year. Until then, the man pages distributed with the perl 5.000 source contain a wealth of information on the new features and old incompatibilities with perl4.036.

    Also available is ``the Llama Book'', _Learning Perl_ by Randal Schwartz, another Nutshell book. This book is a collection of some of the best introductory and tutorial information available about Perl. A definite must for novice Perl users. The examples and code from this book are available from the same places as the Camel book code. (ISBN: 1-56592-042-2)

    If you can't find these books in your local technical bookstore, they may be ordered directly from O'Reilly by calling 1-800-998-9938 if in North America and 1-707-829-0515 otherwise.

    Larry routinely carries around a camel stamp to use when autographing copies of his book. If you can catch him at a conference you can usually get him to sign your book for you.

    Larry Wall has published a 3-part article on perl in Unix World (August through October of 1991), and Rob Kolstad also had a 3-parter in Unix Review (May through July of 1990). Tom Christiansen also has a brief overview article in the trade newsletter Unix Technology Advisor from November of 1989. You might also investigate "The Wisdom of Perl" by Gordon Galligher from SunExpert magazine; April 1991 Volume 2 Number 4. The Dec 92 Computer Language magazine also contains a cover article on Perl, "Perl: the Programmers Toolbox".

    Many other articles on Perl have been recently published. If you have references, especially on-line copies, please mail them to the FAQ maintainer for inclusion is this notice.

    The USENIX LISA (Large Installations Systems Administration) Conference have for several years now included many papers of tools written in Perl. Old proceedings of these conferences are available; look in your current issue of ";login:" or send mail to [email protected] for further information.

    At this point, the "writing committe" (Larry, Randal, and Tom; aka <[email protected]>) is looking at:

    	o A heavy rewrite of the Camel to update it to Perl5.  Expect the
    	  tutorial section to be cut in deference to the Llama.
    	o A light update of the Llama to eliminate the "I think perl5 will
    	  do ..." and a change to "Perl5 will do ..."
    	o A new book, "Learning More Perl" (working title), a sequel to the
    	  Llama, covering what wasn't covered in the Llama including Perl5.
    
    

    According to Randal, this is the current priority. However, he notes that the new Camel won't be out until sometime in the spring of next year, at the earliest.

    Prentice Hall also has two perl books, either on the shelves or in the works. The first is ``Perl by Example'' by Ellie Quigley. (385 pages, $26.96, ISBN 0-13-122839-0) A perl tutorial (perl4); every feature is presented via an annotated example and sample output.

    The second book is called ``Software Engineering with Perl'' by Carl Dichter and Mark Pease. Randal Schwartz has reviewed the second book (SEwP) and has this to say about it:

    SWwP is not meant as instruction in the Perl language, but rather as an example of how Perl may be used to assist in the semi-formal software engineering development cycles. There's a lot of Perl code that's fairly well commented, but most of the book describes software engineering methodologies. For the perl-challenged, there's a *light* treatment of the language as well, but they refer to the llama and the camel for the real meat.

    Japan seems to be jumping with Perl books. If you can read japanese here are a few you might be interested in. Thanks to Jeffrey Friedl* for this list (NOTE: my screen cannot handle japanese characters, so this is all in English for the moment NOTE2: These books are written in Japanese, these titles are just translations):

    	Title: Welcome to Perl Country
    	Authors: Kaoru Maeda, Hiroshi Koyama, Yasushi Saito and Arihito
    		 Fuse
    	Publisher: Science Company	Date: April 25, 1993
    	ISBN: 4-7819-0697-4 		Price: 2472Y
    	Comments: Written during the time the Camel book was being
    	translated.  A useful introduction, but uses jperl (Japanese Perl)
    	which is not necessarily compatible.
    
    
    	Title: Perl Writing Methods	(Perl Calligraphy?)
    	Author: Toshiyuki Masui
    	Publisher: ASCII Corporation	Date: July 1, 1993
    	ISBN: 4-7561-0281-6		Price: 3200Y
    	Comments: More advanced than "Welcome.." and not meant as an
    	introduction.  Uses the standard perl and has examples for handling
    	Japanese text.
    
    
    	Title: Introduction to Perl
    	Author: Shinji Kono
    	Publisher: ASCII Corporation	Date: July 11, 1994
    	ISBN: 4-7561-0292-1		Price: 1800Y
    	Comments: Uses the interactive Perl debugger to explain how things
    	work.
    
    
    	Title: Programming Perl
    	Authors: L Wall & R Schwartz	Translator: Yoshiyuri Kondo
    	Publisher: Softbank Corporation	Date: February 28, 1993
    	ISBN: 4-89052-384-7		Price: 4500Y
    	Comments: Official Japanese translation.  Somewhat laced with
    	translator notes to explain the humour.  The most useful book.
    
    

    There is also a German translation of Programming Perl. It is available from Hanser Verlag:

    	Title: Programmieren in Perl
    	ISBN: 3-446-17257-2
    
    
  3. When will the Camel and Llama books be updated?

    When they do. :-) Actually, we're looking at having them in print about 6 months from now (for floating values of now :-). Send the writing committee mail ([email protected]) mail if you have suggestions.

  4. What FTP resources are available?

    Within the past year, several ftp sites have sprung up for Perl and Perl related items. The site with the biggest repository of Perl scripts right now seems to be ftp.cis.ufl.edu [128.227.100.198]. The scripts directory has an INDEX with over 400 lines in it, each describing what the script does. The src directory has sources and/or binaries for a number of different perl ports, including MS-Dos, Macintosh and Windows/NT. This is maintained by me, Steve*.

    Note: I've changed jobs recently and am not currently directly on the Internet. This means this site may get a little out of date until I can get back up to UF and update it. However, I did set up automatic mirrors to many sites, so much of it should remain uptodate. (If only Larry would put the beta patches on netlabs....)

    Note: European users please use the site src.doc.ic.ac.uk [149.169.2.1] in /pub/computing/programming/languages/perl/ The link speed would be a lot better for all. Contact [email protected] for more information. It is updated daily. This may not be working yet. I'm working with Lee to get it setup.

    There are also a number of other sites. I'll add more of them as I get information on them.

  5. What WWW/gopher resources are available?
        The World Wide Web is exploding with new Perl sites all the time.  Some
        of the more notable ones are:
    	http://www.cis.ufl.edu/perl
    	http://www.metronet.com/1h/perlinfo, which has a great section on
    		Perl5.
    	http://www.eecs.nwu.edu/perl/perl.html
            http://web.nexor.co.uk/perl/perl.html, a great site for European
    		and UK users.
    
    
  6. Can people who don't have access to USENET get comp.lang.perl?

    "Perl-Users" is the mailing list version of the comp.lang.perl newsgroup. If you're not lucky enough to be on USENET you can post to comp.lang.perl by sending to one of the following addresses. Which one will work best for you depends on which nets your site is hooked into. Ask your local network guru if you're not certain.

        Internet: [email protected]
                  [email protected]
    
    
        BitNet: Perl@Virginia
    
    
        uucp: ...!uunet!virginia!perl-users
    
    

    The Perl-Users list is bidirectionally gatewayed with the USENET newsgroup comp.lang.perl. This means that VIRGINIA functions as a reflector. All traffic coming in from the non-USENET side is immediately posted to the newsgroup. Postings from the USENET side are periodically digested and mailed out to the Perl-Users mailing list. A digest is created and distributed at least once per day, more often if traffic warrants.

    All requests to be added to or deleted from this list, problems, questions, etc., should be sent to:

        Internet: [email protected]
                  [email protected]
    
    
        BitNet: Perl-Req@Virginia
    
    
        uucp: ...!uunet!virginia!perl-users-request
    
    
        Coordinator: Marc Rouleau <[email protected]>
    
    
  7. Are archives of comp.lang.perl available?

    Yes, there are. ftp.cis.ufl.edu:/pub/perl/comp.lang.perl/monthly has an almost complete collection dating back to 12/89 (missing 08/91 through 12/93). They are kept as one large file for each month.

    A more sophisticated query and retrieval mechanism is desirable. Preferably one that allows you to retrieve article using a fast-access indices, keyed on at least author, date, subject, thread (as in "trn") and probably keywords. Right now, the MH pick command works for this, but it is very slow to select on 18000 articles.

    If you have, or know where I can find, the missing sections, please let [email protected] know.

  8. Is there a WAIS server for comp.lang.perl?

    Yes there is. Set your WAIS client to archive.orst.edu:9000/comp.lang.perl. According to their introduction, they have a complete selection from 1989 on.

    Bill Middleton <[email protected]> offers this:

    "I have setup a perl script retrieval service and WaisSearch here at feenix. To check it out, just point your gopher at us, and select the appropriate menu option. The WaisSearch is of the iubio type, which means you can do boolean searching. Thus you might try something like:

    	caller
    	ioctl and fcntl
    	grep and socket not curses
    
    

    and other things to see examples of how other folks have done this or that. This service is still under construction, but I'd like to get feedback, if you have some time.

    There's also a WaisSearch into all the RFC's and some other fairly nifty stuff."

  9. What other sources of information about Perl or training are available?

    Johan Vromans* created an beautiful reference guide. The reference guide comes with the Camel book in a nice, glossy format. The LaTeX (source) and PostScript (ready to print) versions are available for FTP from ftp.cs.ruu.nl:/pub/DOC/perlref-4.036.1.tar.Z in Europe or from ftp.cis.ufl.edu:/pub/perl/doc/perlref-4.036.tar.gz in the United States. Obsolete versions in TeX or troff may still be available, but these versions don't print as nicely. See also:

            [] ftp://ftp.uu.net/languages/perl/perlref-4.036.1.tar.gz
            [] ftp://ftp.cs.ruu.nl/pub/DOC/perlref-4.036.1.tar.gz
            [] ftp://ftp.khoros.unm.edu/pub/perl/perlref-4.036.1.tar.gz
    
    

    Johan is working on an update to this document to include perl5 functionality, which he hopes to release by Christmas 1994.

    There is a #Perl channel on IRC (Internet Relay Chat) where Tom and Randal have been known to hang out. Here you can get immediate answers to questions from some of the most well-known Perl Hackers.

    The perl5-porters ([email protected]) mailing list was created to aid in communication among the people working on perl5. However, it has overgrown this function and now also handles a good deal of traffic about perl internals.

  10. Where can I get training classes on Perl?

    USENIX, LISA, SUG, WCSAS, AUUG, FedUnix and Europen sponsor tutorials of varying lengths on Perl at the System Administration and General Conferences. These public classes are typically taught by Tom Christiansen*.

    In part, Tom and Randal teach Perl to help keep bread on their tables long enough while they continue their pro bono efforts of documenting perl (Tom keeps writing more man pages for it :-) and expanding the perl toolkit through extension libraries, work which they enjoy doing as it's fun and helps out the whole world, but which really doesn't pay the bills. Such is the nature of free(ly available) software. Send mail to <[email protected]> for details and availability.

    Tom is also available to teach on-site classes, included courses on advanced perl and perl5. Classes run anywhere from one day to week long sessions and cover a wide range of subject matter. Classes can include lab time with exercises, a generally beneficial aspect. If you would like more information regarding Perl classes or when the next public appearances are, please contact Tom directly.

    Randal Schwartz* provides a 2-day lecture-only and a 4-5 day lecture-lab course based on his popular book "Learning Perl". For details, contact Randal directly via email or at 1.503.777.0095.

    Internet One provides a 2 day "Introduction to Perl" and 2 day "Advanced Perl" workshop. The 50% hands-on and 50% lecture format allow attendees to write several programs themselves. Supplied are the user manuals, reference copies of Larry Wall's "Program- ming Perl", and a UNIX directory of all training examples and labs. To obtain outlines, pricing, or scheduling information, use the following:

            o Phone: 1.303.444.1993
            o Email: [email protected]
            o See our Ad in the "SysAdmin" magazine
            o View the outlines via the Web: http://www.InternetOne.COM/
    
    
  11. What companies use or ship Perl?

    At this time, the known list of companies that ship Perl includes at least the following, although some have snuck it into /usr/contrib or its moral equivalent:

    	BSDI
    	Comdisco Systems
    	CONVEX Computer Corporation
    	Crosspoint Solutions
    	Dell
    	DRD Corporation
    	IBM (SP systems)
    	Intergraph
    	Kubota Pacific
    	Netlabs
    	SGI (without taintperl)
    	Univel
    
    

    Furthermore, the following vendors are reported to begin shipping perl standard with their systems in the very near future:

    	Sun
    
    

    Some companies ship it on their "User Contributed Software Tape", such as DEC and HP. Apple Computer has shipped the MPW version of Macintosh Perl on one of their Developer CDs (Essentials*Tools*Objects #11) (and they included it under "Essentials" :-)

    Many other companies use Perl internally for purposes of tools development, systems administration, installation scripts, and test suites. Rumor has it that the large workstation vendors (the TLA set) are seriously looking into shipping Perl with their standard systems "soon".

    People with support contracts with their vendors are actively encouraged to submit enhancement requests that Perl be shipped as part of their standard system. It would, at the very least, reduce the FTP load on the Internet. :-)

    If you know of any others, please send them in.

  12. Is there commercial, third-party support for Perl?

    Not really. Although perl is included in the GNU distribution, at last check, Cygnus does not offer support for it. However, it's unclear whether they've ever been offered sufficient financial incentive to do so.

    On the other hand, you do have comp.lang.perl as a totally gratis support mechanism. As long as you ask "interesting" questions, you'll probably get plenty of help. :-)

    While some vendors do ship Perl with their platforms, that doesn't mean they support it on arbitrary other platforms. And in fact, all they'll probably do is forward any bug reports on to Larry. In practice, this is far better support than you could hope for from nearly any vendor.

    The companies who won't use something unless they can pay money for it will be left out. Often they're motivated by wanting someone whom they could sue. If all they want is someone to help them out with Perl problems, there's always the net. And if they really want to pay someone for that help, well, Tom and Randal are always looking for a job. :-)

    If companies want "commercial support" for it badly enough, speak up -- something might be able to be arranged.

  13. What is a JAPH? What does "Will hack perl for ..." mean?

    These are the "just another perl hacker" signatures that some people sign their postings with. About 100 of the of the earlier ones are available from the various FTP sites.

    When people started running out of tricky and interesting JAPHs, some of them turned to writing "Will hack perl for ..." quotes. While sometimes humourous, they just didn't have the flair of the JAPHs and have since almost completely vanished.

  14. Where can I get a list of Larry Wall witticisms?

    Over a hundred quips by Larry, from postings of his or source code, can be found in many of the FTP sites or through the World Wide Web at "ftp://ftp.cis.ufl.edu/pub/perl/misc/lwall-quotes"

  15. What are the known bugs?

    These apply to version 5 of perl. See also: `What does "Malformed command links" mean?' for a version 4 bug.

           The README says it's a pre-release.
               Workaround: ignore this sentence.
    
    
           Installs perl0.000 and sperl0.000 instead of 5.000.
               Workaround: rename the files.
    
    
           The debugger appears to be broken on "my" variables;
               Workaround: none yet
    
    
           Recursive signal handlers eventually core dump.
               Workaround: ease up on the ^C key.
    
    
           The following code misbehaves: print ++$_ . "\n" until /0/;
               Workaround: initialize your variable
    
    
           Destructors can clobber $@ on exit from an eval
               Workaround: local $@; eval {...};
    
    
  16. Where should I post bugs?

    The best place to send your bug is <[email protected]>, which is currently just alias for <[email protected]>. You may subscribe to the list in the customary fashion via mail to <[email protected]>. Feel free to post your bugs to the comp.lang.perl newsgroup as well, but do make sure they still go to the mailing list.

    To enhance your chances of getting any bug you report fixed:

    1. Try to narrow the problem down to as small a piece of code as possible. If you can get it down to 1 line of Perl then so much the better.

    2. Include a copy of the output from the myconfig script from the Perl source distribution in your posting.

  17. 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. If you want to cross-post to alt.sources, please make sure it follows their posting standards, including setting the Followups-To header line to NOT include alt.sources; see their FAQ for details.

  18. Where can I learn about object-oriented Perl programming?

    The perlobj(1) man page is a good place to start, and then you can check out the excellent perlbot(1) man page written by the dean of perl o-o himself, Dean Roehrich. Areas covered include the following:

        	Idx  Subsections in perlobj.1          Lines
             1   NAME                                  2
             2   DESCRIPTION                          16
             3   An Object is Simply a Reference      60
             4   A Class is Simply a Package          31
             5   A Method is Simply a Subroutine      34
             6   Method Invocation                    75
             7   Destructors                          14
             8   Summary                               7
    
    
            Idx  Subsections in perlbot.1          Lines
             1   NAME                                  2
             2   INTRODUCTION                          9
             3   Instance Variables                   43
             4   Scalar Instance Variables            21
             5   Instance Variable Inheritance        35
             6   Object Relationships                 33
             7   Overriding Superclass Methods        49
             8   Using Relationship with Sdbm         45
             9   Thinking of Code Reuse              111
    
    

    The section on instance variables should prove very helpful to those wondering how to get data inheritance in perl.

  19. Where can I learn about linking C with Perl? [h2xs]

    While it used to be deep magic, how to do this is now revealed in the perlapi(1), perlguts(1), and perlcall(1) man pages, which treat with this matter extensively.

  20. What is perl.com?

    Perl.com is just Tom's domain name, registered as dedicated to "Perl training and consulting". While not a proper ftp site (he hasn't got the bandwidth (yet)), it does serve as a clearinghouse for certain perl related mailing list. That means that you should always be able to get to Larry, Tom, or Randal through that host. The following aliases work:

        	perl-packrats:          The archivist list
          	perl-porters:           The porters list
        	perlbook:               The Camel/Llama/Alpaca writing committee
        	perlbugs:               The bug list (perl-porters for now)
        	perlclasses:            Info on Perl training
        	perlfaq:                Submissions/Errata to the Perl FAQ
        	    	    	    	(Tom and Steve)
        	perlrefguide:           Submissions/Errata to the Perl FAQ (Johan)
    
    
  21. What do the asterisks (*) throughout the FAQ stand for?

    To keep from cluttering up the FAQ and for easy reference all email addresses have been collected in this location. For each person listed, I offer my thanks for their input and help.

        * Larry Wall	    <[email protected]>
        * Tom Christiansen	    <[email protected]>
        * Stephen P Potter	    <[email protected]>
        * Andreas Koenig	    <[email protected]>
        * Bill Eldridge	    <[email protected]>
        * Buzz Moschetti	    <[email protected]>
        * Casper H.S. Dik	    <[email protected]>
        * David Muir Sharnoff   <[email protected]>
        * Dean Roehrich         <[email protected]>
        * Dominic Giampaolo     <[email protected]>,
        * Frederic Chauveau     <[email protected]>
        * Gene Spafford         <[email protected]>
        * Guido van Rossum	    <[email protected]>
        * Henk P Penning	    <[email protected]>
        * Jeff Friedl	    <[email protected]>
        * Johan Vromans	    <[email protected]>
        * John Dallman	    <[email protected]>
        * John Lees		    <[email protected]>
        * John Ousterhout	    <[email protected]>
        * Jon Biggar	    <[email protected]>
        * Malcolm Beattie	    <[email protected]>
        * Michael D'Errico	    <[email protected]>
        * Randal Schwartz	    <[email protected]>
        * Roberto Salama	    <[email protected]>
        * Steven L Kunz	    <[email protected]>
        * Theodore C. Law	    <[email protected]>
        * Thomas R. Kimpton	    <[email protected]>
        * Timothy Murphy	    <[email protected]>
    

    Stephen P Potter		[email protected]		Varimetrix Corporation
    2350 Commerce Park Drive, Suite 4			    Palm Bay, FL 32905
    (407) 676-3222 						  CAD/CAM/CAE/Software