X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlfaq.pod;h=7acdf613d041bfa49bb01cc45d8e7e5509cd57c3;hb=80b46460027bf2bee58a37ec48620576b7519f26;hp=556a010676e99cc1607ff72a25a2f799bf3aa670;hpb=e337fe5d35fe209b9b7282bd06a3e200f19d1403;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlfaq.pod b/pod/perlfaq.pod index 556a010..7acdf61 100644 --- a/pod/perlfaq.pod +++ b/pod/perlfaq.pod @@ -1,19 +1,106 @@ =head1 NAME -perlfaq - frequently asked questions about Perl ($Date: 2001/09/20 03:03:00 $) +perlfaq - frequently asked questions about Perl ($Date: 2003/01/31 17:37:17 $) =head1 DESCRIPTION -The perlfaq is structured into the following documents: +The perlfaq is divided into several documents based on topics. A table +of contents is at the end of this document. +=head2 Where to get the perlfaq + +Extracts of the perlfaq are posted regularly to +comp.lang.perl.misc. It is available on many web sites: +http://www.perldoc.com/ and http://faq.perl.org/ + +=head2 How to contribute to the perlfaq + +You may mail corrections, additions, and suggestions to +perlfaq-workers@perl.org . This alias should not be used to +I FAQs. It's for fixing the current FAQ. Send +questions to the comp.lang.perl.misc newsgroup. You can +view the source tree at http://cvs.perl.org/cvsweb/perlfaq/ +(which is outside of the main Perl source tree). The CVS +repository notes all changes to the FAQ. + +=head2 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-workers@perl.org +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. + +=head1 Credits + +The original perlfaq was written by Tom Christiansen, then expanded +by collaboration between Tom and Nathan Torkington. The current +document is maintained by the perlfaq-workers (perlfaq-workers@perl.org). +Several people have contributed answers, corrections, and comments. + +=head1 Author and Copyright Information + +Copyright (c) 1997-2003 Tom Christiansen, Nathan Torkington, and +other contributors noted in the answers. + +All rights reserved. + +=head2 Bundled Distributions + +This documentation is free; you can redistribute it and/or modify it +under the same terms as Perl itself. + +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. + +=head2 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. + +=head1 Table of Contents + +=over 4 + +=item perlfaq - this document + +=item perlfaq1 - General Questions About Perl + +=item perlfaq2 - Obtaining and Learning about Perl + +=item perlfaq3 - Programming Tools + +=item perlfaq4 - Data Manipulation -=head2 perlfaq: Structural overview of the FAQ. +=item perlfaq5 - Files and Formats -This document. +=item perlfaq6 - Regular Expressions + +=item perlfaq7 - General Perl Language Issues + +=item perlfaq8 - System Interaction + +=item perlfaq9 - Networking + + +=back + + +=head1 The Questions =head2 L: General Questions About Perl -Very general, high-level information about Perl. +Very general, high-level questions about Perl. =over 4 @@ -75,14 +162,14 @@ Where can I get a list of Larry Wall witticisms? =item * -How can I convince my sysadmin/supervisor/employees to use version 5/5.005/Perl instead of some other language? +How can I convince my sysadmin/supervisor/employees to use version 5/5.6.1/Perl instead of some other language? =back =head2 L: Obtaining and Learning about Perl -Where to find source and documentation to Perl, support, +Where to find source and documentation for Perl, support, and related matters. =over 4 @@ -157,7 +244,7 @@ Where do I send bug reports? =item * -What is perl.com? Perl Mongers? pm.org? perl.org? +What is perl.com? Perl Mongers? pm.org? perl.org? cpan.org? =back @@ -182,6 +269,10 @@ Is there a Perl shell? =item * +How do I find which modules are installed on my system? + +=item * + How do I debug my Perl programs? =item * @@ -226,10 +317,6 @@ How can I generate simple menus without using CGI or Tk? =item * -What is undump? - -=item * - How can I make my Perl program run faster? =item * @@ -238,7 +325,7 @@ How can I make my Perl program take less memory? =item * -Is it unsafe to return a pointer to local data? +Is it safe to return a reference to local or lexical data? =item * @@ -291,8 +378,7 @@ my C program; what am I doing wrong? =item * -When I tried to run my script, I got this message. What does it -mean? +When I tried to run my script, I got this message. What does it mean? =item * @@ -322,7 +408,7 @@ Does Perl have a round() function? What about ceil() and floor()? Trig functio =item * -How do I convert bits into ints? +How do I convert between numeric representations? =item * @@ -346,7 +432,11 @@ Why aren't my random numbers random? =item * -How do I find the week-of-the-year/day-of-the-year? +How do I get a random number between X and Y? + +=item * + +How do I find the day or week of the year? =item * @@ -406,7 +496,7 @@ How do I reformat a paragraph? =item * -How can I access/change the first N letters of a string? +How can I access or change N characters of a string? =item * @@ -422,8 +512,7 @@ How do I capitalize all the words on one line? =item * -How can I split a [character] delimited string except when inside -[character]? (Comma-separated files) +How can I split a [character] delimited string except when inside [character]? =item * @@ -451,7 +540,7 @@ What's wrong with always quoting "$vars"? =item * -Why don't my <EHERE documents work? =item * @@ -467,7 +556,7 @@ How can I remove duplicate elements from a list or array? =item * -How can I tell whether a list or array contains a certain element? +How can I tell whether a certain element is contained in a list or array? =item * @@ -610,7 +699,7 @@ How do I pack arrays of doubles or floats for XS code? =head2 L: Files and Formats -I/O and the "f" issues: filehandles, flushing, formats and footers. +I/O and the "f" issues: filehandles, flushing, formats, and footers. =over 4 @@ -628,6 +717,10 @@ How do I count the number of lines in a file? =item * +How can I use Perl's C<-i> option from within a program? + +=item * + How do I make a temporary file name? =item * @@ -664,7 +757,7 @@ How come when I open a file read-write it wipes it out? =item * -Why do I sometimes get an "Argument list too long" when I use <*>? +Why do I sometimes get an "Argument list too long" when I use E*E? =item * @@ -684,7 +777,7 @@ How can I lock a file? =item * -Why can't I just open(FH, ">file.lock")? +Why can't I just open(FH, "Efile.lock")? =item * @@ -761,7 +854,7 @@ Why do I get weird spaces when I print an array of lines? =back -=head2 L: Regexps +=head2 L: Regular Expressions Pattern matching and regular expressions. @@ -943,7 +1036,7 @@ What's the difference between deep and shallow binding? =item * -Why doesn't "my($foo) = ;" work right? +Why doesn't "my($foo) = EFILEE;" work right? =item * @@ -959,7 +1052,7 @@ How do I create a switch or case statement? =item * -How can I catch accesses to undefined variables/functions/methods? +How can I catch accesses to undefined variables, functions, or methods? =item * @@ -981,6 +1074,10 @@ How do I clear a package? How can I use a variable as a variable name? +=item * + +What does "bad interpreter" mean? + =back @@ -1192,12 +1289,16 @@ What is socket.ph and where do I get it? =head2 L: Networking -Networking, the Internet, and a few on the web. +Networking, the internet, and a few on the web. =over 4 =item * +What is the correct form of response from a CGI script? + +=item * + My CGI script runs from the command line but not the browser. (500 Server Error) =item * @@ -1274,6 +1375,10 @@ How do I send mail? =item * +How do I use MIME to make an attachment to a mail message? + +=item * + How do I read mail? =item * @@ -1295,136 +1400,3 @@ How can I do RPC in Perl? =back -=head1 About the perlfaq documents - -=head2 Where to get the perlfaq - -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/ . - -=head2 How to contribute to the perlfaq - -You may mail corrections, additions, and suggestions to -perlfaq-suggestions@perl.com . This alias should not be -used to I FAQs. It's for fixing the current FAQ. -Send questions to the comp.lang.perl.misc newsgroup. - -=head2 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. - -=head1 Credits - -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. - -=head1 Author and Copyright Information - -Copyright (c) 1997-1999 Tom Christiansen and Nathan Torkington. -All rights reserved. - -=head2 Bundled Distributions - -This documentation is free; you can redistribute it and/or modify it -under the same terms as Perl itself. - -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. - -=head2 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. - -=head1 Changes - -=over 4 - -=item 1/November/2000 - -A few grammatical fixes and updates implemented by John Borwick. - -=item 23/May/99 - -Extensive updates from the net in preparation for 5.6 release. - -=item 13/April/99 - -More minor touch-ups. Added new question at the end -of perlfaq7 on variable names within variables. - -=item 7/January/99 - -Small touchups here and there. Added all questions in this -document as a sort of table of contents. - -=item 22/June/98 - -Significant changes throughout in preparation for the 5.005 -release. - -=item 24/April/97 - -Style and whitespace changes from Chip, new question on reading one -character at a time from a terminal using POSIX from Tom. - -=item 23/April/97 - -Added http://www.oasis.leo.org/perl/ to L. Style fix to -L. 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 L. Added example of passing and storing -filehandles, added commify to L. Restored variable suicide, -and added mass commenting to L. Added Net::Telnet, fixed -backticks, added reader/writer pair to telnet question, added FindBin, -grouped module questions together in L. Expanded caveats -for the simple URL extractor, gave LWP example, added CGI security -question, expanded on the mail address answer in L. - -=item 25/March/97 - -Added more info to the binary distribution section of L. -Added Net::Telnet to L. Fixed typos in L. Added -mail sending example to L. Added Merlyn's columns to -L. - -=item 18/March/97 - -Added the DATE to the NAME section, indicating which sections have -changed. - -Mentioned SIGPIPE and L in the forking open answer in -L. - -Fixed description of a regular expression in L. - -=item 17/March/97 Version - -Various typos fixed throughout. - -Added new question on Perl BNF on L. - -=item 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. - -=back