You are viewing the version of this documentation from Perl 5.005_02. View the latest version



perlfaq - frequently asked questions about Perl ($Date: 1998/08/05 12:09:32 $)


This document is structured into the following sections:

perlfaq: Structural overview of the FAQ.

This document.

perlfaq1: General Questions About Perl

Very general, high-level information about Perl.

perlfaq2: Obtaining and Learning about Perl

Where to find source and documentation to Perl, support, and related matters.

perlfaq3: Programming Tools

Programmer tools and programming support.

perlfaq4: Data Manipulation

Manipulating numbers, dates, strings, arrays, hashes, and miscellaneous data issues.

perlfaq5: Files and Formats

I/O and the "f" issues: filehandles, flushing, formats and footers.

perlfaq6: Regexps

Pattern matching and regular expressions.

perlfaq7: General Perl Language Issues

General Perl language issues that don't clearly fit into any of the other sections.

perlfaq8: System Interaction

Interprocess communication (IPC), control over the user-interface (keyboard, screen and pointing devices).

perlfaq9: Networking

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 .

How to contribute to this document

You may mail corrections, additions, and suggestions to . This alias should not be used to ask FAQs. It's for fixing the current FAQ.

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 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.

Author and Copyright Information

Copyright (c) 1997, 1998 Tom Christiansen and Nathan Torkington. All rights reserved.

Bundled Distributions

When included as part of the Standard Version of Perl, or as part of its complete documentation whether printed or otherwise, this work may be distributed only under the terms of Perl's Artistic License. Any distribution of this file or derivatives thereof outside of that package require that special arrangements be made with copyright holder.

Irrespective of its distribution, all code examples in these files are hereby placed into the public domain. You are permitted and encouraged to use this code in your own programs for fun or for profit as you see fit. A simple comment in the code giving credit would be courteous but is not required.


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.



Significant changes throughout in preparation for the 5.005 release.


Style and whitespace changes from Chip, new question on reading one character at a time from a terminal using POSIX from Tom.


Added to perlfaq2. Style fix to perlfaq3. 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 perlfaq4. Added example of passing and storing filehandles, added commify to perlfaq5. Restored variable suicide, and added mass commenting to perlfaq7. Added Net::Telnet, fixed backticks, added reader/writer pair to telnet question, added FindBin, grouped module questions together in perlfaq8. Expanded caveats for the simple URL extractor, gave LWP example, added CGI security question, expanded on the mail address answer in perlfaq9.


Added more info to the binary distribution section of perlfaq2. Added Net::Telnet to perlfaq6. Fixed typos in perlfaq8. Added mail sending example to perlfaq9. Added Merlyn's columns to perlfaq2.


Added the DATE to the NAME section, indicating which sections have changed.

Mentioned SIGPIPE and perlipc in the forking open answer in perlfaq8.

Fixed description of a regular expression in perlfaq4.

17/March/97 Version

Various typos fixed throughout.

Added new question on Perl BNF on perlfaq7.

Initial Release: 11/March/97

This is the initial release of version 3 of the FAQ; consequently there have been no changes since its initial release.