perlfaq - frequently asked questions about Perl ($Date: 1997/04/24 22:46:06 $) This document is structured into the following sections: This document. Very general, high-level information about Perl. Where to find source and documentation to Perl, support and training, and related matters. Programmer tools and programming support. Manipulating numbers, dates, strings, arrays, hashes, and miscellaneous data issues. I/O and the "f" issues: filehandles, flushing, formats and footers. Pattern matching and regular expressions. General Perl language issues that don't clearly fit into any of the other sections. Interprocess communication (IPC), control over the user-interface (keyboard, screen and pointing devices). Networking, the Internet, and a few on the web.

Where to get this document
This document is posted regularly to comp.lang.perl.announce and several other related newsgroups. It is available in a variety of formats from CPAN in the /CPAN/doc/FAQs/FAQ/ directory, or on the web at http://www.perl.com/perl/faq/ .

How to contribute to this document
You may mail corrections, additions, and suggestions to perlfaq-suggestions@perl.com . Mail sent to the old perlfaq alias will merely cause the FAQ to be sent to you.

What will happen if you mail your Perl programming problems to the authors
Your questions will probably go unread, unless they're suggestions of new questions to add to the FAQ, in which case they should have gone to the perlfaq-suggestions@perl.com instead. You should have read section 2 of this faq. There you would have learned that comp.lang.perl.misc is the appropriate place to go for free advice. If your question is really important and you require a prompt and correct answer, you should hire a consultant. When I first began the Perl FAQ in the late 80s, I never realized it would have grown to over a hundred pages, nor that Perl would ever become so popular and widespread. This document could not have been written without the tremendous help provided by Larry Wall and the rest of the Perl Porters. Copyright (c) 1997 Tom Christiansen and Nathan Torkington. All rights reserved.

Noncommercial Reproduction
Permission is granted to distribute this document, in part or in full, via electronic means or printed copy providing that (1) that all credits and copyright notices be retained, (2) that no charges beyond reproduction be involved, and (3) that a reasonable attempt be made to use the most current version available. Furthermore, you may include this document in any distribution of the full Perl source or binaries, in its verbatim documentation, or on a complete dump of the CPAN archive, providing that the three stipulations given above continue to be met.

Commercial Reproduction
Requests for all other distribution rights, including the incorporation in part or in full of this text or its code into commercial products such as but not limited to books, magazine articles, or CD-ROMs, must be made to perlfaq-legal@perl.com. Any commercial use of any portion of this document without prior written authorization by its authors will be subject to appropriate action.

Disclaimer
This information is offered in good faith and in the hope that it may be of use, but is not guaranteed to be correct, up to date, or suitable for any particular purpose whatsoever. The authors accept no liability in respect of this information or its use. Style and whitespace changes from Chip, new question on reading one character at a time from a terminal using POSIX from Tom. Added http://www.oasis.leo.org/perl/ to the perlfaq2 manpage. Style fix to the perlfaq3 manpage. Added floating point precision, fixed complex number arithmetic, cross-references, caveat for Text::Wrap, alternative answer for initial capitalizing, fixed incorrect regexp, added example of Tie::IxHash to the perlfaq4 manpage. Added example of passing and storing filehandles, added commify to the perlfaq5 manpage. Restored variable suicide, and added mass commenting to the perlfaq7 manpage. Added Net::Telnet, fixed backticks, added reader/writer pair to telnet question, added FindBin, grouped module questions together in the perlfaq8 manpage. Expanded caveats for the simple URL extractor, gave LWP example, added CGI security question, expanded on the email address answer in the perlfaq9 manpage. Added more info to the binary distribution section of the perlfaq2 manpage. Added Net::Telnet to the perlfaq6 manpage. Fixed typos in the perlfaq8 manpage. Added mail sending example to the perlfaq9 manpage. Added Merlyn's columns to the perlfaq2 manpage. Added the DATE to the NAME section, indicating which sections have changed. Mentioned SIGPIPE and the perlipc manpage in the forking open answer in the perlfaq8 manpage. Fixed description of a regular expression in the perlfaq4 manpage. Various typos fixed throughout. Added new question on Perl BNF on the perlfaq7 manpage. This is the initial release of version 3 of the FAQ; consequently there have been no changes since its initial release.