From: Jarkko Hietaniemi Date: Sun, 4 May 2003 09:25:48 +0000 (+0000) Subject: Add Artistic as perlartistic and GPL (the Copying) as perlgpl; X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=2a551100939323428e5b071089d183aafb961137;p=p5sagit%2Fp5-mst-13.2.git Add Artistic as perlartistic and GPL (the Copying) as perlgpl; regen perltoc, perlmodlib. The GPL added as verbatim as possible, the perlartistic is a straightforward podification. p4raw-id: //depot/perl@19401 --- diff --git a/MANIFEST b/MANIFEST index 0043713..52f193a 100644 --- a/MANIFEST +++ b/MANIFEST @@ -2255,6 +2255,7 @@ pod/perl573delta.pod Changes from 5.7.2 to 5.7.3 pod/perl58delta.pod Changes from 5.6 to 5.8.0 pod/perlapi.pod Perl API documentation (autogenerated) pod/perlapio.pod PerlIO IO API info +pod/perlartistic.pod Perl Artistic License (pod) pod/perlbook.pod Perl book information pod/perlboot.pod Beginner's Object-oriented Tutorial pod/perlbot.pod Object-oriented Bag o' Tricks @@ -2286,6 +2287,7 @@ pod/perlfilter.pod Source filters info pod/perlfork.pod Info about fork() pod/perlform.pod Format info pod/perlfunc.pod Function info +pod/perlgpl.pod GNU General Public License (pod) pod/perlguts.pod Internals info pod/perlhack.pod Perl hackers guide pod/perlhist.pod Perl history info diff --git a/pod/buildtoc.PL b/pod/buildtoc.PL index 90f87ae..da61bba 100644 --- a/pod/buildtoc.PL +++ b/pod/buildtoc.PL @@ -196,9 +196,11 @@ if (-d "pod") { perlapio perltodo perlhack + perldoc perlhist perldelta + perl58delta perl573delta perl572delta perl571delta @@ -208,6 +210,9 @@ if (-d "pod") { perl5005delta perl5004delta + perlartistic + perlgpl + ), @ARCHPODS, @@ -307,6 +312,7 @@ sub getpods { if (/\.p(od|m)$/) { my $file = $File::Find::name; return if $file eq '../lib/Pod/Functions.pm'; # Used only by pod itself + return if $file =~ m!(?:^|/)t/!; return if $file =~ m!lib/Attribute/Handlers/demo/!; return if $file =~ m!lib/Net/FTP/.+\.pm!; # Hi, Graham! :-) return if $file =~ m!lib/Math/BigInt/t/!; diff --git a/pod/perl.pod b/pod/perl.pod index 7eb8a8f..b73df56 100644 --- a/pod/perl.pod +++ b/pod/perl.pod @@ -126,8 +126,11 @@ For ease of access, the Perl manual has been split up into several sections. perlbook Perl book information perltodo Perl things to do + perldoc Look up Perl documentation in Pod format + perlhist Perl history records perldelta Perl changes since previous version + perl58delta Perl changes in version 5.8.0 perl573delta Perl changes in version 5.7.3 perl572delta Perl changes in version 5.7.2 perl571delta Perl changes in version 5.7.1 @@ -137,6 +140,9 @@ For ease of access, the Perl manual has been split up into several sections. perl5005delta Perl changes in version 5.005 perl5004delta Perl changes in version 5.004 + perlartistic Perl Artistic License + perlgpl GNU General Public License + =head2 Language-Specific perlcn Perl for Simplified Chinese (in EUC-CN) diff --git a/pod/perlartistic.pod b/pod/perlartistic.pod new file mode 100644 index 0000000..0aa090a --- /dev/null +++ b/pod/perlartistic.pod @@ -0,0 +1,199 @@ +=pod + +=head1 The "Artistic License" + +This document includes the Perl Artistic License, one of the two +alternatives licenses under which Perl can be redistributed and/or +modified. See also the GNU General Public License L. + +=head2 Preamble + +The intent of this document is to state the conditions under which a +Package may be copied, such that the Copyright Holder maintains some +semblance of artistic control over the development of the package, +while giving the users of the package the right to use and distribute +the Package in a more-or-less customary fashion, plus the right to make +reasonable modifications. + +Definitions: + +=over 5 + +=item Package + + "Package" refers to the collection of files distributed by the + Copyright Holder, and derivatives of that collection of files + created through textual modification. + +=item Standard Version + + "Standard Version" refers to such a Package if it has not been + modified, or has been modified in accordance with the wishes + of the Copyright Holder as specified below. + +=item Copyright Holder + + "Copyright Holder" is whoever is named in the copyright or + copyrights for the package. + +=item You + + "You" is you, if you're thinking about copying or distributing + this Package. + +=item Reasonable copying fee + + "Reasonable copying fee" is whatever you can justify on the + basis of media cost, duplication charges, time of people involved, + and so on. (You will not be required to justify it to the + Copyright Holder, but only to the computing community at large + as a market that must bear the fee.) + +=item Freely Available + + "Freely Available" means that no fee is charged for the item + itself, though there may be fees involved in handling the item. + It also means that recipients of the item may redistribute it + under the same conditions they received it. + +=back + +=over 4 + +=item 1. + +You may make and give away verbatim copies of the source form of the +Standard Version of this Package without restriction, provided that you +duplicate all of the original copyright notices and associated disclaimers. + +=item 2. + +You may apply bug fixes, portability fixes and other modifications +derived from the Public Domain or from the Copyright Holder. A Package +modified in such a way shall still be considered the Standard Version. + +=item 3. + +You may otherwise modify your copy of this Package in any way, provided +that you insert a prominent notice in each changed file stating how and +when you changed that file, and provided that you do at least ONE of the +following: + +=over 4 + +=item * + + a) place your modifications in the Public Domain or otherwise make them + Freely Available, such as by posting said modifications to Usenet or + an equivalent medium, or placing the modifications on a major archive + site such as uunet.uu.net, or by allowing the Copyright Holder to include + your modifications in the Standard Version of the Package. + +=item * + + b) use the modified Package only within your corporation or organization. + +=item * + + c) rename any non-standard executables so the names do not conflict + with standard executables, which must also be provided, and provide + a separate manual page for each non-standard executable that clearly + documents how it differs from the Standard Version. + +=item * + + d) make other distribution arrangements with the Copyright Holder. + +=back + +=item 4. + +You may distribute the programs of this Package in object code or +executable form, provided that you do at least ONE of the following: + +=over 4 + +=item * + + a) distribute a Standard Version of the executables and library files, + together with instructions (in the manual page or equivalent) on where + to get the Standard Version. + +=item * + + b) accompany the distribution with the machine-readable source of + the Package with your modifications. + +=item * + + c) give non-standard executables non-standard names, and clearly + document the differences in manual pages (or equivalent), together + with instructions on where to get the Standard Version. + +=item * + + d) make other distribution arrangements with the Copyright Holder. + +=back + +=item 5. + +You may charge a reasonable copying fee for any distribution of this +Package. You may charge any fee you choose for support of this +Package. You may not charge a fee for this Package itself. However, +you may distribute this Package in aggregate with other (possibly +commercial) programs as part of a larger (possibly commercial) software +distribution provided that you do not advertise this Package as a +product of your own. You may embed this Package's interpreter within +an executable of yours (by linking); this shall be construed as a mere +form of aggregation, provided that the complete Standard Version of the +interpreter is so embedded. + +=item 6. + +The scripts and library files supplied as input to or produced as +output from the programs of this Package do not automatically fall +under the copyright of this Package, but belong to whoever generated +them, and may be sold commercially, and may be aggregated with this +Package. If such scripts or library files are aggregated with this +Package via the so-called "undump" or "unexec" methods of producing a +binary executable image, then distribution of such an image shall +neither be construed as a distribution of this Package nor shall it +fall under the restrictions of Paragraphs 3 and 4, provided that you do +not represent such an executable image as a Standard Version of this +Package. + +=item 7. + +C subroutines (or comparably compiled subroutines in other +languages) supplied by you and linked into this Package in order to +emulate subroutines and variables of the language defined by this +Package shall not be considered part of this Package, but are the +equivalent of input as in Paragraph 6, provided these subroutines do +not change the language in any way that would cause it to fail the +regression tests for the language. + +=item 8. + +Aggregation of this Package with a commercial distribution is always +permitted provided that the use of this Package is embedded; that is, +when no overt attempt is made to make this Package's interfaces visible +to the end user of the commercial distribution. Such use shall not be +construed as a distribution of this Package. + +=item 9. + +The name of the Copyright Holder may not be used to endorse or promote +products derived from this software without specific prior written permission. + +=item 10. + +THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR +IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED +WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. + +=back + +The End + +=cut diff --git a/pod/perlgpl.pod b/pod/perlgpl.pod new file mode 100644 index 0000000..78902ce --- /dev/null +++ b/pod/perlgpl.pod @@ -0,0 +1,260 @@ +=pod + +=head1 GNU GENERAL PUBLIC LICENSE + +This document includes the GNU General Public License, one of the two +alternatives licenses under which Perl can be redistributed and/or +modified. See also the Perl Artistic License L. + +=head2 The License Text + + GNU GENERAL PUBLIC LICENSE + Version 1, February 1989 + + Copyright (C) 1989 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The license agreements of most software companies try to keep users + at the mercy of those companies. By contrast, our General Public + License is intended to guarantee your freedom to share and change free + software--to make sure the software is free for all its users. The + General Public License applies to the Free Software Foundation's + software and to any other program whose authors commit to using it. + You can use it for your programs, too. + + When we speak of free software, we are referring to freedom, not + price. Specifically, the General Public License is designed to make + sure that you have the freedom to give away or sell copies of free + software, that you receive source code or can get it if you want it, + that you can change the software or use pieces of it in new free + programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid + anyone to deny you these rights or to ask you to surrender the rights. + These restrictions translate to certain responsibilities for you if you + distribute copies of the software, or if you modify it. + + For example, if you distribute copies of a such a program, whether + gratis or for a fee, you must give the recipients all the rights that + you have. You must make sure that they, too, receive or can get the + source code. And you must tell them their rights. + + We protect your rights with two steps: (1) copyright the software, and + (2) offer you this license which gives you legal permission to copy, + distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain + that everyone understands that there is no warranty for this free + software. If the software is modified by someone else and passed on, we + want its recipients to know that what they have is not the original, so + that any problems introduced by others will not reflect on the original + authors' reputations. + + The precise terms and conditions for copying, distribution and + modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any program or other work which + contains a notice placed by the copyright holder saying it may be + distributed under the terms of this General Public License. The + "Program", below, refers to any such program or work, and a "work based + on the Program" means either the Program or any work containing the + Program or a portion of it, either verbatim or with modifications. Each + licensee is addressed as "you". + + 1. You may copy and distribute verbatim copies of the Program's source + code as you receive it, in any medium, provided that you conspicuously and + appropriately publish on each copy an appropriate copyright notice and + disclaimer of warranty; keep intact all the notices that refer to this + General Public License and to the absence of any warranty; and give any + other recipients of the Program a copy of this General Public License + along with the Program. You may charge a fee for the physical act of + transferring a copy. + + 2. You may modify your copy or copies of the Program or any portion of + it, and copy and distribute such modifications under the terms of Paragraph + 1 above, provided that you also do the following: + + a) cause the modified files to carry prominent notices stating that + you changed the files and the date of any change; and + + b) cause the whole of any work that you distribute or publish, that + in whole or in part contains the Program or any part thereof, either + with or without modifications, to be licensed at no charge to all + third parties under the terms of this General Public License (except + that you may choose to grant warranty protection to some or all + third parties, at your option). + + c) If the modified program normally reads commands interactively when + run, you must cause it, when started running for such interactive use + in the simplest and most usual way, to print or display an + announcement including an appropriate copyright notice and a notice + that there is no warranty (or else, saying that you provide a + warranty) and that users may redistribute the program under these + conditions, and telling the user how to view a copy of this General + Public License. + + d) You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + + Mere aggregation of another independent work with the Program (or its + derivative) on a volume of a storage or distribution medium does not bring + the other work under the scope of these terms. + + 3. You may copy and distribute the Program (or a portion or derivative of + it, under Paragraph 2) in object code or executable form under the terms of + Paragraphs 1 and 2 above provided that you also do one of the following: + + a) accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of + Paragraphs 1 and 2 above; or, + + b) accompany it with a written offer, valid for at least three + years, to give any third party free (except for a nominal charge + for the cost of distribution) a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of + Paragraphs 1 and 2 above; or, + + c) accompany it with the information you received as to where the + corresponding source code may be obtained. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form alone.) + + Source code for a work means the preferred form of the work for making + modifications to it. For an executable file, complete source code means + all the source code for all modules it contains; but, as a special + exception, it need not include source code for modules which are standard + libraries that accompany the operating system on which the executable + file runs, or for standard header files or definitions files that + accompany that operating system. + + 4. You may not copy, modify, sublicense, distribute or transfer the + Program except as expressly provided under this General Public License. + Any attempt otherwise to copy, modify, sublicense, distribute or transfer + the Program is void, and will automatically terminate your rights to use + the Program under this License. However, parties who have received + copies, or rights to use copies, from you under this General Public + License will not have their licenses terminated so long as such parties + remain in full compliance. + + 5. By copying, distributing or modifying the Program (or any work based + on the Program) you indicate your acceptance of this license to do so, + and all its terms and conditions. + + 6. Each time you redistribute the Program (or any work based on the + Program), the recipient automatically receives a license from the original + licensor to copy, distribute or modify the Program subject to these + terms and conditions. You may not impose any further restrictions on the + recipients' exercise of the rights granted herein. + + 7. The Free Software Foundation may publish revised and/or new versions + of the General Public License from time to time. Such new versions will + be similar in spirit to the present version, but may differ in detail to + address new problems or concerns. + + Each version is given a distinguishing version number. If the Program + specifies a version number of the license which applies to it and "any + later version", you have the option of following the terms and conditions + either of that version or of any later version published by the Free + Software Foundation. If the Program does not specify a version number of + the license, you may choose any version ever published by the Free Software + Foundation. + + 8. If you wish to incorporate parts of the Program into other free + programs whose distribution conditions are different, write to the author + to ask for permission. For software which is copyrighted by the Free + Software Foundation, write to the Free Software Foundation; we sometimes + make exceptions for this. Our decision will be guided by the two goals + of preserving the free status of all derivatives of our free software and + of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY + FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN + OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES + PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED + OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS + TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, + REPAIR OR CORRECTION. + + 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING + WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR + REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, + INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING + OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED + TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY + YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER + PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE + POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + Appendix: How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest + possible use to humanity, the best way to achieve this is to make it + free software which everyone can redistribute and change under these + terms. + + To do so, attach the following notices to the program. It is safest to + attach them to the start of each source file to most effectively convey + the exclusion of warranty; and each file should have at least the + "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) 19yy + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 1, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. + + Also add information on how to contact you by electronic and paper mail. + + If the program is interactive, make it output a short notice like this + when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19xx name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + The hypothetical commands `show w' and `show c' should show the + appropriate parts of the General Public License. Of course, the + commands you use may be called something other than `show w' and `show + c'; they could even be mouse-clicks or menu items--whatever suits your + program. + + You should also get your employer (if you work as a programmer) or your + school, if any, to sign a "copyright disclaimer" for the program, if + necessary. Here a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + program `Gnomovision' (a program to direct compilers to make passes + at assemblers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + + That's all there is to it! + +=cut diff --git a/pod/perlmodlib.PL b/pod/perlmodlib.PL index 4f21ca4..776642d 100644 --- a/pod/perlmodlib.PL +++ b/pod/perlmodlib.PL @@ -1207,9 +1207,10 @@ How you choose to license your work is a personal decision. The general mechanism is to assert your Copyright and then make a declaration of how others may copy/use/modify your work. -Perl, for example, is supplied with two types of licence: The GNU -GPL and The Artistic Licence (see the files README, Copying, and -Artistic). Larry has good reasons for NOT just using the GNU GPL. +Perl, for example, is supplied with two types of licence: The GNU GPL +and The Artistic Licence (see the files README, Copying, and Artistic, +or L and L). Larry has good reasons for NOT +just using the GNU GPL. My personal recommendation, out of respect for Larry, Perl, and the Perl community at large is to state something simply like: diff --git a/pod/perlmodlib.pod b/pod/perlmodlib.pod index 86fac4b..c775f00 100644 --- a/pod/perlmodlib.pod +++ b/pod/perlmodlib.pod @@ -2465,9 +2465,10 @@ How you choose to license your work is a personal decision. The general mechanism is to assert your Copyright and then make a declaration of how others may copy/use/modify your work. -Perl, for example, is supplied with two types of licence: The GNU -GPL and The Artistic Licence (see the files README, Copying, and -Artistic). Larry has good reasons for NOT just using the GNU GPL. +Perl, for example, is supplied with two types of licence: The GNU GPL +and The Artistic Licence (see the files README, Copying, and Artistic, +or L and L). Larry has good reasons for NOT +just using the GNU GPL. My personal recommendation, out of respect for Larry, Perl, and the Perl community at large is to state something simply like: diff --git a/pod/perlmodstyle.pod b/pod/perlmodstyle.pod index 70cc4d0..a5e332e 100644 --- a/pod/perlmodstyle.pod +++ b/pod/perlmodstyle.pod @@ -705,6 +705,7 @@ of the license don't require you to include it). If you don't know what license to use, dual licensing under the GPL and Artistic licenses (the same as Perl itself) is a good idea. +See L and L. =head1 COMMON PITFALLS diff --git a/pod/perltoc.pod b/pod/perltoc.pod index 078f41c..5a819ad 100644 --- a/pod/perltoc.pod +++ b/pod/perltoc.pod @@ -103,8 +103,8 @@ Parentheses for capturing, Other regexp features =back -=head2 perlfaq - frequently asked questions about Perl ($Date: 2002/03/11 -21:32:23 $) +=head2 perlfaq - frequently asked questions about Perl ($Date: 2003/01/31 +17:37:17 $) =over 4 @@ -112,58 +112,58 @@ Parentheses for capturing, Other regexp features =over 4 -=item perlfaq: Structural overview of the FAQ. - -=item L: General Questions About Perl +=item Where to get the perlfaq -=item L: Obtaining and Learning about Perl +=item How to contribute to the perlfaq -=item L: Programming Tools +=item What will happen if you mail your Perl programming problems to the +authors -=item L: Data Manipulation +=back -=item L: Files and Formats +=item Credits -=item L: Regular Expressions +=item Author and Copyright Information -=item L: General Perl Language Issues +=over 4 -=item L: System Interaction +=item Bundled Distributions -=item L: Networking +=item Disclaimer =back -=item About the perlfaq documents +=item Table of Contents -=over 4 +perlfaq - this document, perlfaq1 - General Questions About Perl, perlfaq2 +- Obtaining and Learning about Perl, perlfaq3 - Programming Tools, perlfaq4 +- Data Manipulation, perlfaq5 - Files and Formats, perlfaq6 - Regular +Expressions, perlfaq7 - General Perl Language Issues, perlfaq8 - System +Interaction, perlfaq9 - Networking -=item Where to get the perlfaq +=item The Questions -=item How to contribute to the perlfaq +=over 4 -=item What will happen if you mail your Perl programming problems to the -authors +=item L: General Questions About Perl -=back +=item L: Obtaining and Learning about Perl -=item Credits +=item L: Programming Tools -=item Author and Copyright Information +=item L: Data Manipulation -=over 4 +=item L: Files and Formats -=item Bundled Distributions +=item L: Regular Expressions -=item Disclaimer +=item L: General Perl Language Issues -=back +=item L: System Interaction -=item Changes +=item L: Networking -1/November/2000, 23/May/99, 13/April/99, 7/January/99, 22/June/98, -24/April/97, 23/April/97, 25/March/97, 18/March/97, 17/March/97 Version, -Initial Release: 11/March/97 +=back =back @@ -277,6 +277,8 @@ Initial Release: 11/March/97 =item C-style Logical Or +=item C-style Logical Defined-Or + =item Range Operators =item Conditional Operator @@ -291,7 +293,7 @@ Initial Release: 11/March/97 =item Logical And -=item Logical or and Exclusive Or +=item Logical or, Defined or, and Exclusive Or =item C Operators Missing From Perl @@ -398,7 +400,7 @@ in perl5 =item Alphabetical Listing of Perl Functions -I<-X> FILEHANDLE, I<-X> EXPR, I<-X>, abs VALUE, abs, accept +-I FILEHANDLE, -I EXPR, -I, abs VALUE, abs, accept NEWSOCKET,GENERICSOCKET, alarm SECONDS, alarm, atan2 Y,X, bind SOCKET,NAME, binmode FILEHANDLE, LAYER, binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp( @@ -470,10 +472,10 @@ syswrite FILEHANDLE,SCALAR, tell FILEHANDLE, tell, telldir DIRHANDLE, tie VARIABLE,CLASSNAME,LIST, tied VARIABLE, time, times, tr///, truncate FILEHANDLE,LENGTH, truncate EXPR,LENGTH, uc EXPR, uc, ucfirst EXPR, ucfirst, umask EXPR, umask, undef EXPR, undef, unlink LIST, unlink, unpack -TEMPLATE,EXPR, untie VARIABLE, unshift ARRAY,LIST, use Module VERSION LIST, -use Module VERSION, use Module LIST, use Module, use VERSION, utime LIST, -values HASH, vec EXPR,OFFSET,BITS, wait, waitpid PID,FLAGS, wantarray, warn -LIST, write FILEHANDLE, write EXPR, write, y/// +TEMPLATE,EXPR, unpack TEMPLATE, untie VARIABLE, unshift ARRAY,LIST, use +Module VERSION LIST, use Module VERSION, use Module LIST, use Module, use +VERSION, utime LIST, values HASH, vec EXPR,OFFSET,BITS, wait, waitpid +PID,FLAGS, wantarray, warn LIST, write FILEHANDLE, write EXPR, write, y/// =back @@ -497,12 +499,12 @@ LIST, write FILEHANDLE, write EXPR, write, y/// =item Using References -=back - =item An Example =item Arrow Rule +=back + =item Solution =item The Rest @@ -844,10 +846,11 @@ OS/2, MS-DOS, Win95/NT, Macintosh, VMS =item Command Switches -B<-0>[I], B<-a>, B<-C>, B<-c>, B<-d>, B<-d:>I, -B<-D>I, B<-D>I, B<-e> I, B<-F>I, -B<-h>, B<-i>[I], B<-I>I, B<-l>[I], -B<-m>[B<->]I, B<-M>[B<->]I, B<-M>[B<->]I<'module ...'>, +B<-0>[I], B<-a>, B<-C [I]>, B<-c>, B<-d>, +B<-d:>I, B<-D>I, B<-D>I, B<-e> +I, B<-F>I, B<-h>, B<-i>[I], +B<-I>I, B<-l>[I], B<-m>[B<->]I, +B<-M>[B<->]I, B<-M>[B<->]I<'module ...'>, B<-[mM]>[B<->]I, B<-n>, B<-p>, B<-P>, B<-s>, B<-S>, B<-t>, B<-T>, B<-u>, B<-U>, B<-v>, B<-V>, B<-V:>I, B<-w>, B<-W>, B<-X>, B<-x> I @@ -860,7 +863,7 @@ HOME, LOGDIR, PATH, PERL5LIB, PERL5OPT, PERLIO, :bytes, :crlf, :mmap, :perlio, :raw, :stdio, :unix, :utf8, :win32, PERLIO_DEBUG, PERLLIB, PERL5DB, PERL5SHELL (specific to the Win32 port), PERL_DEBUG_MSTATS, PERL_DESTRUCT_LEVEL, PERL_ENCODING, PERL_ROOT (specific to the VMS port), -SYS$LOGIN (specific to the VMS port) +PERL_SIGNALS, PERL_UNICODE, SYS$LOGIN (specific to the VMS port) =back @@ -959,9 +962,10 @@ min+incr, l min-max, l line, l subname, -, v [line], f filename, /pattern/, subname [condition], b postpone subname [condition], b load filename, b compile subname, B line, B *, a [line] command, A line, A *, w expr, W expr, W *, o, o booloption .., o anyoption? .., o option=value .., < ?, < [ -command ], << command, > ?, > command, >> command, { ?, { [ command ], {{ -command, ! number, ! -number, ! pattern, !! cmd, source file, H -number, q -or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man [manpage] +command ], < *, << command, > ?, > command, > *, >> command, { ?, { [ +command ], { *, {{ command, ! number, ! -number, ! pattern, !! cmd, source +file, H -number, q or ^D, R, |dbcmd, ||dbcmd, command, m expr, M, man +[manpage] =item Configurable Options @@ -1037,10 +1041,9 @@ $PROGRAM_NAME, $0, $[, $], $COMPILING, $^C, $DEBUGGING, $^D, $SYSTEM_FD_MAX, $^F, $^H, %^H, $INPLACE_EDIT, $^I, $^M, $OSNAME, $^O, ${^OPEN}, $PERLDB, $^P, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x100, 0x200, $LAST_REGEXP_CODE_RESULT, $^R, $EXCEPTIONS_BEING_CAUGHT, $^S, -$BASETIME, $^T, ${^TAINT}, $PERL_VERSION, $^V, $WARNING, $^W, -${^WARNING_BITS}, ${^WIDE_SYSTEM_CALLS}, $EXECUTABLE_NAME, $^X, ARGV, -$ARGV, @ARGV, ARGVOUT, @F, @INC, @_, %INC, %ENV, $ENV{expr}, %SIG, -$SIG{expr} +$BASETIME, $^T, ${^TAINT}, ${^UNICODE}, $PERL_VERSION, $^V, $WARNING, $^W, +${^WARNING_BITS}, $EXECUTABLE_NAME, $^X, ARGV, $ARGV, @ARGV, ARGVOUT, @F, +@INC, @_, %INC, %ENV, $ENV{expr}, %SIG, $SIG{expr} =item Error Indicators @@ -1088,6 +1091,8 @@ $SIG{expr} =item Simple Opens +=item Indirect Filehandles + =item Pipe Opens =item The Minus File @@ -1128,6 +1133,10 @@ $SIG{expr} =item Opening Non-File Files +=item Opening Named Pipes + +=item Opening Sockets + =item Binary Files =item File Locking @@ -1184,6 +1193,8 @@ $SIG{expr} =back +=item Template Grouping + =item Lengths and Widths =over 4 @@ -1192,6 +1203,8 @@ $SIG{expr} =item Dynamic Templates +=item Counting Repetitions + =back =item Packing and Unpacking C Structures @@ -1662,6 +1675,8 @@ isa(CLASS), can(METHOD), VERSION( [NEED] ) =item DELEGATION +=item SEE ALSO + =back =head2 perltie - how to hide an object class in a simple variable @@ -1732,7 +1747,7 @@ safe subprocesses, sockets, and semaphores) =over 4 -=item Deferred Signals +=item Deferred Signals (Safe signals) Long running opcodes, Interrupting IO, Signals as "faults", Signals triggered by operating system state @@ -2183,16 +2198,17 @@ LIST, exit EXPR, exit, fcntl FILEHANDLE,FUNCTION,SCALAR, flock FILEHANDLE,OPERATION, fork, getlogin, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, getnetbyname NAME, getpwuid UID, getgrgid GID, getnetbyaddr ADDR,ADDRTYPE, getprotobynumber NUMBER, -getservbyport PORT,PROTO, getpwent, getgrent, gethostent, getnetent, -getprotoent, getservent, sethostent STAYOPEN, setnetent STAYOPEN, -setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, endhostent, -endnetent, endprotoent, endservent, getsockopt SOCKET,LEVEL,OPTNAME, glob -EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, kill SIGNAL, LIST, link -OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, lstat, msgctl ID,CMD,ARG, -msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv ID,VAR,SIZE,TYPE,FLAGS, open -FILEHANDLE,EXPR, open FILEHANDLE, pipe READHANDLE,WRITEHANDLE, readlink -EXPR, readlink, select RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, -semget KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, +getservbyport PORT,PROTO, getpwent, getgrent, gethostbyname, gethostent, +getnetent, getprotoent, getservent, sethostent STAYOPEN, setnetent +STAYOPEN, setprotoent STAYOPEN, setservent STAYOPEN, endpwent, endgrent, +endhostent, endnetent, endprotoent, endservent, getsockopt +SOCKET,LEVEL,OPTNAME, glob EXPR, glob, ioctl FILEHANDLE,FUNCTION,SCALAR, +kill SIGNAL, LIST, link OLDFILE,NEWFILE, lstat FILEHANDLE, lstat EXPR, +lstat, msgctl ID,CMD,ARG, msgget KEY,FLAGS, msgsnd ID,MSG,FLAGS, msgrcv +ID,VAR,SIZE,TYPE,FLAGS, open FILEHANDLE,EXPR, open FILEHANDLE, pipe +READHANDLE,WRITEHANDLE, readlink EXPR, readlink, select +RBITS,WBITS,EBITS,TIMEOUT, semctl ID,SEMNUM,CMD,ARG, semget +KEY,NSEMS,FLAGS, semop KEY,OPSTRING, setgrent, setpgrp PID,PGRP, setpriority WHICH,WHO,PRIORITY, setpwent, setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL, shmctl ID,CMD,ARG, shmget KEY,SIZE,FLAGS, shmread ID,VAR,POS,SIZE, shmwrite ID,STRING,POS,SIZE, sockatmark SOCKET, @@ -2206,12 +2222,12 @@ wait, waitpid PID,FLAGS =item CHANGES -v1.48, 02 February 2001, v1.47, 22 March 2000, v1.46, 12 February 2000, -v1.45, 20 December 1999, v1.44, 19 July 1999, v1.43, 24 May 1999, v1.42, 22 -May 1999, v1.41, 19 May 1999, v1.40, 11 April 1999, v1.39, 11 February -1999, v1.38, 31 December 1998, v1.37, 19 December 1998, v1.36, 9 September -1998, v1.35, 13 August 1998, v1.33, 06 August 1998, v1.32, 05 August 1998, -v1.30, 03 August 1998, v1.23, 10 July 1998 +v1.49, 12 August 2002, v1.48, 02 February 2001, v1.47, 22 March 2000, +v1.46, 12 February 2000, v1.45, 20 December 1999, v1.44, 19 July 1999, +v1.43, 24 May 1999, v1.42, 22 May 1999, v1.41, 19 May 1999, v1.40, 11 April +1999, v1.39, 11 February 1999, v1.38, 31 December 1998, v1.37, 19 December +1998, v1.36, 9 September 1998, v1.35, 13 August 1998, v1.33, 06 August +1998, v1.32, 05 August 1998, v1.30, 03 August 1998, v1.23, 10 July 1998 =item Supported Platforms @@ -2416,6 +2432,8 @@ enable UTF-8/UTF-EBCDIC in scripts =item Speed +=item Porting code from perl-5.6.X + =back =item SEE ALSO @@ -2524,9 +2542,9 @@ chr(), ord(), pack(), print(), printf(), sort(), sprintf(), unpack() =over 4 -=item OS/400 +=item OS/400 -IFS access +PASE, IFS access =item OS/390, z/OS @@ -2631,18 +2649,17 @@ module (sometimes unnecessary), B the module =over 4 -=item DESCRIPTION - =item THE PERL MODULE LIBRARY =over 4 =item Pragmatic Modules -attributes, attrs, autouse, base, bigint, bignum, bigrat, blib, bytes, -charnames, constant, diagnostics, encoding, fields, filetest, if, integer, -less, locale, open, ops, overload, re, sigtrap, sort, strict, subs, -threads, utf8, vars, vmsish, warnings, warnings::register +assertions, assertions::activate, attributes, attrs, autouse, base, bigint, +bignum, bigrat, blib, bytes, charnames, constant, diagnostics, encoding, +fields, filetest, if, integer, less, lib, locale, open, ops, overload, re, +sigtrap, sort, strict, subs, threads, threads::shared, utf8, vars, version, +vmsish, warnings, warnings::register =item Standard Modules @@ -2652,46 +2669,64 @@ B::Deparse, B::Disassembler, B::Lint, B::Showlex, B::Stackobj, B::Stash, B::Terse, B::Xref, Benchmark, ByteLoader, CGI, CGI::Apache, CGI::Carp, CGI::Cookie, CGI::Fast, CGI::Pretty, CGI::Push, CGI::Switch, CGI::Util, CPAN, CPAN::FirstTime, CPAN::Nox, Carp, Carp::Heavy, Class::ISA, -Class::Struct, Config, Cwd, DB, DB_File, Devel::SelfStubber, Digest, -DirHandle, Dumpvalue, Encode, English, Env, Errno, Exporter, -Exporter::Heavy, ExtUtils::Command, ExtUtils::Command::MM, -ExtUtils::Constant, ExtUtils::Embed, ExtUtils::Install, -ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, ExtUtils::MM_Any, -ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, +Class::Struct, Config, Cwd, DB, DB_File, Data::Dumper, Devel::DProf, +Devel::PPPort, Devel::Peek, Devel::SelfStubber, Digest, Digest::MD5, +DirHandle, Dumpvalue, DynaLoader, Encode, Encode::Alias, Encode::Byte, +Encode::CJKConstants, Encode::CN, Encode::CN::HZ, Encode::Config, +Encode::EBCDIC, Encode::Encoder, Encode::Encoding, Encode::Guess, +Encode::JP, Encode::JP::H2Z, Encode::JP::JIS7, Encode::KR, +Encode::KR::2022_KR, Encode::MIME::Header, Encode::PerlIO, +Encode::Supported, Encode::Symbol, Encode::TW, Encode::Unicode, English, +Env, Errno, Exporter, Exporter::Heavy, ExtUtils::Command, +ExtUtils::Command::MM, ExtUtils::Constant, ExtUtils::Embed, +ExtUtils::Install, ExtUtils::Installed, ExtUtils::Liblist, ExtUtils::MM, +ExtUtils::MM_Any, ExtUtils::MM_BeOS, ExtUtils::MM_Cygwin, ExtUtils::MM_DOS, ExtUtils::MM_MacOS, ExtUtils::MM_NW5, ExtUtils::MM_OS2, ExtUtils::MM_UWIN, ExtUtils::MM_Unix, ExtUtils::MM_VMS, ExtUtils::MM_Win32, -ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, ExtUtils::Manifest, -ExtUtils::Mkbootstrap, ExtUtils::Mksymlists, ExtUtils::Packlist, -ExtUtils::testlib, Fatal, Fcntl, File::Basename, File::CheckTree, -File::Compare, File::Copy, File::DosGlob, File::Find, File::Path, -File::Spec, File::Spec::Cygwin, File::Spec::Epoc, File::Spec::Functions, -File::Spec::Mac, File::Spec::OS2, File::Spec::Unix, File::Spec::VMS, -File::Spec::Win32, File::Temp, File::stat, FileCache, FileHandle, -Filter::Simple, FindBin, Getopt::Long, Getopt::Std, Hash::Util, -I18N::Collate, I18N::LangTags, I18N::LangTags::List, IO, IPC::Open2, -IPC::Open3, Locale::Constants, Locale::Country, Locale::Currency, -Locale::Language, Locale::Maketext, Locale::Maketext::TPJ13, -Locale::Script, Math::BigFloat, Math::BigInt, Math::BigInt::Calc, -Math::BigRat, Math::Complex, Math::Trig, Memoize, Memoize::AnyDBM_File, -Memoize::Expire, Memoize::ExpireFile, Memoize::ExpireTest, -Memoize::NDBM_File, Memoize::SDBM_File, Memoize::Storable, NDBM_File, NEXT, -Net::Cmd, Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, -Net::POP3, Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, -Net::netent, Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, -PerlIO, PerlIO::via::QuotedPrint, Pod::Checker, Pod::Find, Pod::Functions, -Pod::Html, Pod::InputObjects, Pod::LaTeX, Pod::Man, Pod::ParseLink, -Pod::ParseUtils, Pod::Parser, Pod::Plainer, Pod::Select, Pod::Text, -Pod::Text::Color, Pod::Text::Overstrike, Pod::Text::Termcap, Pod::Usage, -SDBM_File, Safe, Search::Dict, SelectSaver, SelfLoader, Shell, Socket, -Storable, Switch, Symbol, Term::ANSIColor, Term::Cap, Term::Complete, -Term::ReadLine, Test, Test::Builder, Test::Harness, Test::Harness::Assert, -Test::Harness::Iterator, Test::Harness::Straps, Test::More, Test::Simple, -Test::Tutorial, Text::Abbrev, Text::Balanced, Text::ParseWords, -Text::Soundex, Text::Tabs, Text::Wrap, Thread, Thread::Queue, -Thread::Semaphore, Tie::Array, Tie::File, Tie::Handle, Tie::Hash, -Tie::Memoize, Tie::RefHash, Tie::Scalar, Tie::SubstrHash, Time::Local, -Time::gmtime, Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, -Unicode::UCD, User::grent, User::pwent, Win32 +ExtUtils::MM_Win95, ExtUtils::MY, ExtUtils::MakeMaker, +ExtUtils::MakeMaker::FAQ, ExtUtils::MakeMaker::Tutorial, +ExtUtils::MakeMaker::vmsish, ExtUtils::Manifest, ExtUtils::Mkbootstrap, +ExtUtils::Mksymlists, ExtUtils::Packlist, ExtUtils::testlib, Fatal, Fcntl, +File::Basename, File::CheckTree, File::Compare, File::Copy, File::DosGlob, +File::Find, File::Glob, File::Path, File::Spec, File::Spec::Cygwin, +File::Spec::Epoc, File::Spec::Functions, File::Spec::Mac, File::Spec::OS2, +File::Spec::Unix, File::Spec::VMS, File::Spec::Win32, File::Temp, +File::stat, FileCache, FileHandle, Filter::Simple, Filter::Util::Call, +FindBin, GDBM_File, Getopt::Long, Getopt::Std, Hash::Util, I18N::Collate, +I18N::LangTags, I18N::LangTags::List, I18N::Langinfo, IO, IO::Dir, +IO::File, IO::Handle, IO::Pipe, IO::Poll, IO::Seekable, IO::Select, +IO::Socket, IO::Socket::INET, IO::Socket::UNIX, IPC::Open2, IPC::Open3, +IPC::SysV, IPC::SysV::Msg, IPC::SysV::Semaphore, List::Util, +Locale::Constants, Locale::Country, Locale::Currency, Locale::Language, +Locale::Maketext, Locale::Maketext::TPJ13, Locale::Script, MIME::Base64, +MIME::Base64::QuotedPrint, Math::BigFloat, Math::BigInt, +Math::BigInt::Calc, Math::BigInt::Scalar, Math::BigRat, Math::Complex, +Math::Trig, Memoize, Memoize::AnyDBM_File, Memoize::Expire, +Memoize::ExpireFile, Memoize::ExpireTest, Memoize::NDBM_File, +Memoize::SDBM_File, Memoize::Storable, NDBM_File, NEXT, Net::Cmd, +Net::Config, Net::Domain, Net::FTP, Net::NNTP, Net::Netrc, Net::POP3, +Net::Ping, Net::SMTP, Net::Time, Net::hostent, Net::libnetFAQ, Net::netent, +Net::protoent, Net::servent, O, ODBM_File, Opcode, POSIX, PerlIO, +PerlIO::encoding, PerlIO::scalar, PerlIO::via, PerlIO::via::QuotedPrint, +Pod::Checker, Pod::Find, Pod::Functions, Pod::Html, Pod::InputObjects, +Pod::LaTeX, Pod::Man, Pod::ParseLink, Pod::ParseUtils, Pod::Parser, +Pod::Perldoc::ToChecker, Pod::Perldoc::ToMan, Pod::Perldoc::ToNroff, +Pod::Perldoc::ToPod, Pod::Perldoc::ToRtf, Pod::Perldoc::ToText, +Pod::Perldoc::ToTk, Pod::Perldoc::ToXml, Pod::PlainText, Pod::Plainer, +Pod::Select, Pod::Text, Pod::Text::Color, Pod::Text::Overstrike, +Pod::Text::Termcap, Pod::Usage, SDBM_File, Safe, Scalar::Util, +Search::Dict, SelectSaver, SelfLoader, Shell, Socket, Storable, Switch, +Symbol, Sys::Hostname, Sys::Syslog, Term::ANSIColor, Term::Cap, +Term::Complete, Term::ReadLine, Test, Test::Builder, Test::Harness, +Test::Harness::Assert, Test::Harness::Iterator, Test::Harness::Straps, +Test::More, Test::Simple, Test::Tutorial, Text::Abbrev, Text::Balanced, +Text::ParseWords, Text::Soundex, Text::Tabs, Text::Wrap, Thread, +Thread::Queue, Thread::Semaphore, Thread::Signal, Thread::Specific, +Tie::Array, Tie::File, Tie::Handle, Tie::Hash, Tie::Memoize, Tie::RefHash, +Tie::Scalar, Tie::SubstrHash, Time::HiRes, Time::Local, Time::gmtime, +Time::localtime, Time::tm, UNIVERSAL, Unicode::Collate, Unicode::Normalize, +Unicode::UCD, User::grent, User::pwent, Win32, XS::APItest, XS::Typemap, +XSLoader =item Extension Modules @@ -2823,6 +2858,9 @@ Parameter passing =item README, INSTALL, release notes, changelogs +perl Makefile.PL, make, make test, make install, perl Build.PL, perl Build, +perl Build test, perl Build install + =back =item RELEASE CONSIDERATIONS @@ -2855,8 +2893,9 @@ Parameter passing =item SEE ALSO -L, L, L, L, Testing tools, -http://pause.perl.org/, Any good book on software engineering +L, L, L, L, Packaging Tools, +Testing tools, http://pause.perl.org/, Any good book on software +engineering =item AUTHOR @@ -2897,8 +2936,8 @@ tarball, Announce to the modules list, Announce to clpa, Fix bugs! =back -=head2 perlfaq1 - General Questions About Perl ($Revision: 1.8 $, $Date: -2002/04/07 18:46:13 $) +=head2 perlfaq1 - General Questions About Perl ($Revision: 1.11 $, $Date: +2002/12/06 07:40:11 $) =over 4 @@ -2944,8 +2983,8 @@ Scheme, or Tcl? =back -=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.13 $, -$Date: 2002/04/26 16:56:35 $) +=head2 perlfaq2 - Obtaining and Learning about Perl ($Revision: 1.20 $, +$Date: 2003/01/26 17:50:56 $) =over 4 @@ -3000,8 +3039,8 @@ References, Tutorials, Task-Oriented, Special Topics =back -=head2 perlfaq3 - Programming Tools ($Revision: 1.22 $, $Date: 2002/05/06 -13:11:13 $) +=head2 perlfaq3 - Programming Tools ($Revision: 1.33 $, $Date: 2003/01/31 +17:34:56 $) =over 4 @@ -3015,6 +3054,8 @@ References, Tutorials, Task-Oriented, Special Topics =item 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 How do I profile my Perl programs? @@ -3028,7 +3069,7 @@ References, Tutorials, Task-Oriented, Special Topics =item Is there an IDE or Windows Perl Editor? Komodo, The Object System, Open Perl IDE, PerlBuilder, visiPerl+, OptiPerl, -CodeMagicCD, GNU Emacs, MicroEMACS, XEmacs, Elvis, Vile, Vim, Codewright, +GNU Emacs, MicroEMACS, XEmacs, Jed, Elvis, Vile, Vim, Codewright, MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha =item Where can I get Perl macros for vi? @@ -3048,7 +3089,7 @@ MultiEdit, SlickEdit, Bash, Ksh, Tcsh, Zsh, BBEdit and BBEdit Lite, Alpha Don't slurp!, Use map and grep selectively, Avoid unnecessary quotes and stringification, Pass by reference, Tie large variables to disk -=item Is it unsafe to return a pointer to local data? +=item Is it safe to return a reference to local or lexical data? =item How can I free an array or hash so my program shrinks? @@ -3085,8 +3126,8 @@ my C program; what am I doing wrong? =back -=head2 perlfaq4 - Data Manipulation ($Revision: 1.25 $, $Date: 2002/05/30 -07:04:25 $) +=head2 perlfaq4 - Data Manipulation ($Revision: 1.43 $, $Date: 2003/02/23 +20:25:09 $) =over 4 @@ -3129,9 +3170,7 @@ from decimal to binary =over 4 -=item How do I find the week-of-the-year/day-of-the-year? - -=item How do I find the current century or millennium? +=item How do I find the day or week of the year? =item How can I compare two dates and find the difference? @@ -3165,7 +3204,7 @@ from decimal to binary =item How do I reformat a paragraph? -=item How can I access/change the first N letters of a string? +=item How can I access or change N characters of a string? =item How do I change the Nth occurrence of something? @@ -3175,7 +3214,7 @@ string? =item 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) +[character]? =item How do I strip blank space from the beginning/end of a string? @@ -3189,10 +3228,10 @@ string? =item What's wrong with always quoting "$vars"? -=item Why don't my <EHERE documents work? -1. There must be no space after the << part, 2. There (probably) should be -a semicolon at the end, 3. You can't (easily) have any space in front of +There must be no space after the EE part, There (probably) should +be a semicolon at the end, You can't (easily) have any space in front of the tag =back @@ -3302,8 +3341,8 @@ array of hashes or arrays? =back -=head2 perlfaq5 - Files and Formats ($Revision: 1.18 $, $Date: 2002/05/30 -07:04:25 $) +=head2 perlfaq5 - Files and Formats ($Revision: 1.28 $, $Date: 2003/01/26 +17:45:46 $) =over 4 @@ -3318,6 +3357,8 @@ line in the middle of a file/append to the beginning of a file? =item 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 How can I manipulate fixed-record-length files? @@ -3337,7 +3378,8 @@ filehandles between subroutines? How do I make an array of filehandles? =item 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 <*>? +=item Why do I sometimes get an "Argument list too long" when I use +E*E? =item Is there a leak/bug in glob()? @@ -3347,7 +3389,7 @@ filehandles between subroutines? How do I make an array of filehandles? =item How can I lock a file? -=item Why can't I just open(FH, ">file.lock")? +=item Why can't I just open(FH, "Efile.lock")? =item I still don't get locking. I just want to increment the number in the file. How can I do this? @@ -3395,8 +3437,8 @@ protected files? Isn't this a bug in Perl? =back -=head2 perlfaq6 - Regular Expressions ($Revision: 1.12 $, $Date: 2002/06/01 -22:31:09 $) +=head2 perlfaq6 - Regular Expressions ($Revision: 1.20 $, $Date: 2003/01/03 +20:05:28 $) =over 4 @@ -3462,8 +3504,8 @@ file? =back -=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.8 $, $Date: -2002/03/26 15:48:32 $) +=head2 perlfaq7 - General Perl Language Issues ($Revision: 1.14 $, $Date: +2003/01/31 17:38:14 $) =over 4 @@ -3515,7 +3557,7 @@ is in scope? =item What's the difference between deep and shallow binding? -=item Why doesn't "my($foo) = ;" work right? +=item Why doesn't "my($foo) = EFILEE;" work right? =item How do I redefine a builtin function, operator, or method? @@ -3523,7 +3565,8 @@ is in scope? =item How do I create a switch or case statement? -=item How can I catch accesses to undefined variables/functions/methods? +=item How can I catch accesses to undefined variables, functions, or +methods? =item Why can't a method included in this same file be found? @@ -3535,14 +3578,16 @@ is in scope? =item How can I use a variable as a variable name? +=item What does "bad interpreter" mean? + =back =item AUTHOR AND COPYRIGHT =back -=head2 perlfaq8 - System Interaction ($Revision: 1.8 $, $Date: 2002/05/16 -12:41:42 $) +=head2 perlfaq8 - System Interaction ($Revision: 1.17 $, $Date: 2003/01/26 +17:44:04 $) =over 4 @@ -3669,7 +3714,7 @@ search path? =back -=head2 perlfaq9 - Networking ($Revision: 1.9 $, $Date: 2002/04/07 18:46:13 +=head2 perlfaq9 - Networking ($Revision: 1.15 $, $Date: 2003/01/31 17:36:57 $) =over 4 @@ -3825,6 +3870,8 @@ program =item Embedding Perl under Win32 +=item Hiding Perl_ + =item MORAL =item AUTHOR @@ -4056,6 +4103,8 @@ C, C, C =item The OVERLOAD: Keyword +=item The FALLBACK: Keyword + =item The INTERFACE: Keyword =item The INTERFACE_MACRO: Keyword @@ -4499,8 +4548,8 @@ CvSTASH, get_cv, Nullcv =item Embedding Functions -load_module, nothreadhook, perl_alloc, perl_construct, perl_destruct, -perl_free, perl_parse, perl_run, require_pv +cv_undef, load_module, nothreadhook, perl_alloc, perl_construct, +perl_destruct, perl_free, perl_parse, perl_run, require_pv =item Functions in file pp_pack.c @@ -4552,6 +4601,10 @@ scan_hex, scan_oct cv_const_sv, newCONSTSUB, newXS +=item Pad Data Structures + +pad_sv + =item Stack Manipulation Macros dMARK, dORIGMARK, dSP, EXTEND, MARK, ORIGMARK, POPi, POPl, POPn, POPp, @@ -4568,45 +4621,47 @@ svtype, SVt_IV, SVt_NV, SVt_PV, SVt_PVAV, SVt_PVCV, SVt_PVHV, SVt_PVMG get_sv, looks_like_number, newRV_inc, newRV_noinc, newSV, newSViv, newSVnv, newSVpv, newSVpvf, newSVpvn, newSVpvn_share, newSVrv, newSVsv, newSVuv, -new_vstring, SvCUR, SvCUR_set, SvEND, SvGROW, SvIOK, SvIOKp, SvIOK_notUV, -SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV, SvIOK_UV, SvIV, SvIVx, -SvIVX, SvLEN, SvNIOK, SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, -SvNOK_on, SvNOK_only, SvNV, SvNVX, SvNVx, SvOK, SvOOK, SvPOK, SvPOKp, -SvPOK_off, SvPOK_on, SvPOK_only, SvPOK_only_UTF8, SvPV, SvPVbyte, -SvPVbytex, SvPVbytex_force, SvPVbyte_force, SvPVbyte_nolen, SvPVutf8, -SvPVutf8x, SvPVutf8x_force, SvPVutf8_force, SvPVutf8_nolen, SvPVx, SvPVX, -SvPV_force, SvPV_force_nomg, SvPV_nolen, SvREFCNT, SvREFCNT_dec, -SvREFCNT_inc, SvROK, SvROK_off, SvROK_on, SvRV, SvSTASH, SvTAINT, -SvTAINTED, SvTAINTED_off, SvTAINTED_on, SvTRUE, SvTYPE, SvUNLOCK, SvUOK, -SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, SvUV, SvUVX, SvUVx, sv_2bool, -sv_2cv, sv_2io, sv_2iv, sv_2mortal, sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, -sv_2pvutf8, sv_2pvutf8_nolen, sv_2pv_flags, sv_2pv_nolen, sv_2uv, -sv_backoff, sv_bless, sv_catpv, sv_catpvf, sv_catpvf_mg, sv_catpvn, -sv_catpvn_flags, sv_catpvn_mg, sv_catpv_mg, sv_catsv, sv_catsv_flags, -sv_catsv_mg, sv_chop, sv_clear, sv_cmp, sv_cmp_locale, sv_collxfrm, -sv_copypv, sv_dec, sv_derived_from, sv_eq, sv_force_normal, -sv_force_normal_flags, sv_free, sv_gets, sv_grow, sv_inc, sv_insert, -sv_isa, sv_isobject, sv_iv, sv_len, sv_len_utf8, sv_magic, sv_magicext, -sv_mortalcopy, sv_newmortal, sv_newref, sv_nolocking, sv_nosharing, -sv_nounlocking, sv_nv, sv_pos_b2u, sv_pos_u2b, sv_pv, sv_pvbyte, -sv_pvbyten, sv_pvbyten_force, sv_pvn, sv_pvn_force, sv_pvn_force_flags, -sv_pvutf8, sv_pvutf8n, sv_pvutf8n_force, sv_reftype, sv_replace, -sv_report_used, sv_reset, sv_rvweaken, sv_setiv, sv_setiv_mg, sv_setnv, -sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpvn, sv_setpvn_mg, -sv_setpv_mg, sv_setref_iv, sv_setref_nv, sv_setref_pv, sv_setref_pvn, -sv_setref_uv, sv_setsv, sv_setsv_flags, sv_setsv_mg, sv_setuv, sv_setuv_mg, -sv_taint, sv_tainted, sv_true, sv_unmagic, sv_unref, sv_unref_flags, -sv_untaint, sv_upgrade, sv_usepvn, sv_usepvn_mg, sv_utf8_decode, -sv_utf8_downgrade, sv_utf8_encode, sv_utf8_upgrade, sv_utf8_upgrade_flags, -sv_uv, sv_vcatpvfn, sv_vsetpvfn +new_version, scan_version, scan_vstring, SvCUR, SvCUR_set, SvEND, SvGROW, +SvIOK, SvIOKp, SvIOK_notUV, SvIOK_off, SvIOK_on, SvIOK_only, SvIOK_only_UV, +SvIOK_UV, SvIsCOW, SvIsCOW_shared_hash, SvIV, SvIVx, SvIVX, SvLEN, SvNIOK, +SvNIOKp, SvNIOK_off, SvNOK, SvNOKp, SvNOK_off, SvNOK_on, SvNOK_only, SvNV, +SvNVX, SvNVx, SvOK, SvOOK, SvPOK, SvPOKp, SvPOK_off, SvPOK_on, SvPOK_only, +SvPOK_only_UTF8, SvPV, SvPVbyte, SvPVbytex, SvPVbytex_force, +SvPVbyte_force, SvPVbyte_nolen, SvPVutf8, SvPVutf8x, SvPVutf8x_force, +SvPVutf8_force, SvPVutf8_nolen, SvPVx, SvPVX, SvPV_force, SvPV_force_nomg, +SvPV_nolen, SvREFCNT, SvREFCNT_dec, SvREFCNT_inc, SvROK, SvROK_off, +SvROK_on, SvRV, SvSTASH, SvTAINT, SvTAINTED, SvTAINTED_off, SvTAINTED_on, +SvTRUE, SvTYPE, SvUNLOCK, SvUOK, SvUPGRADE, SvUTF8, SvUTF8_off, SvUTF8_on, +SvUV, SvUVX, SvUVx, SvVOK, sv_2bool, sv_2cv, sv_2io, sv_2iv, sv_2mortal, +sv_2nv, sv_2pvbyte, sv_2pvbyte_nolen, sv_2pvutf8, sv_2pvutf8_nolen, +sv_2pv_flags, sv_2pv_nolen, sv_2uv, sv_backoff, sv_bless, sv_catpv, +sv_catpvf, sv_catpvf_mg, sv_catpvn, sv_catpvn_flags, sv_catpvn_mg, +sv_catpv_mg, sv_catsv, sv_catsv_flags, sv_catsv_mg, sv_chop, sv_clear, +sv_cmp, sv_cmp_locale, sv_collxfrm, sv_copypv, sv_dec, sv_derived_from, +sv_eq, sv_force_normal, sv_force_normal_flags, sv_free, sv_gets, sv_grow, +sv_inc, sv_insert, sv_isa, sv_isobject, sv_iv, sv_len, sv_len_utf8, +sv_magic, sv_magicext, sv_mortalcopy, sv_newmortal, sv_newref, +sv_nolocking, sv_nosharing, sv_nounlocking, sv_nv, sv_pos_b2u, sv_pos_u2b, +sv_pv, sv_pvbyte, sv_pvbyten, sv_pvbyten_force, sv_pvn, sv_pvn_force, +sv_pvn_force_flags, sv_pvutf8, sv_pvutf8n, sv_pvutf8n_force, sv_reftype, +sv_replace, sv_report_used, sv_reset, sv_rvweaken, sv_setiv, sv_setiv_mg, +sv_setnv, sv_setnv_mg, sv_setpv, sv_setpvf, sv_setpvf_mg, sv_setpviv, +sv_setpviv_mg, sv_setpvn, sv_setpvn_mg, sv_setpv_mg, sv_setref_iv, +sv_setref_nv, sv_setref_pv, sv_setref_pvn, sv_setref_uv, sv_setsv, +sv_setsv_flags, sv_setsv_mg, sv_setuv, sv_setuv_mg, sv_taint, sv_tainted, +sv_true, sv_unmagic, sv_unref, sv_unref_flags, sv_untaint, sv_upgrade, +sv_usepvn, sv_usepvn_mg, sv_utf8_decode, sv_utf8_downgrade, sv_utf8_encode, +sv_utf8_upgrade, sv_utf8_upgrade_flags, sv_uv, sv_vcatpvfn, sv_vsetpvfn, +upg_version, vcmp, vnumify, vstringify =item Unicode Support bytes_from_utf8, bytes_to_utf8, ibcmp_utf8, is_utf8_char, is_utf8_string, -pv_uni_display, sv_recode_to_utf8, sv_uni_display, to_utf8_case, -to_utf8_fold, to_utf8_lower, to_utf8_title, to_utf8_upper, utf8n_to_uvchr, -utf8n_to_uvuni, utf8_distance, utf8_hop, utf8_length, utf8_to_bytes, -utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, uvuni_to_utf8_flags +pv_uni_display, sv_cat_decode, sv_recode_to_utf8, sv_uni_display, +to_utf8_case, to_utf8_fold, to_utf8_lower, to_utf8_title, to_utf8_upper, +utf8n_to_uvchr, utf8n_to_uvuni, utf8_distance, utf8_hop, utf8_length, +utf8_to_bytes, utf8_to_uvchr, utf8_to_uvuni, uvchr_to_utf8, +uvuni_to_utf8_flags =item Variables created by C and C internal functions @@ -4630,6 +4685,22 @@ croak, warn =item DESCRIPTION +=item CV reference counts and CvOUTSIDE + +CvWEAKOUTSIDE + +=item Functions in file pad.h + +CX_CURPAD_SAVE, CX_CURPAD_SV, PAD_BASE_SV, PAD_CLONE_VARS, +PAD_COMPNAME_FLAGS, PAD_COMPNAME_GEN, PAD_COMPNAME_OURSTASH, +PAD_COMPNAME_PV, PAD_COMPNAME_TYPE, PAD_DUP, PAD_RESTORE_LOCAL, +PAD_SAVE_LOCAL, PAD_SAVE_SETNULLPAD, PAD_SETSV, PAD_SET_CUR, PAD_SV, +PAD_SVl, SAVECLEARSV, SAVECOMPPAD, SAVEPADSV + +=item Functions in file pp_ctl.c + +find_runcv + =item Global Variables PL_DBsingle, PL_DBsub, PL_DBtrace, PL_dowarn, PL_last_in_gv, PL_ofs_sv, @@ -4645,7 +4716,10 @@ start_glob =item Pad Data Structures -CvPADLIST +CvPADLIST, cv_clone, cv_dump, do_dump_pad, intro_my, pad_add_anon, +pad_add_name, pad_alloc, pad_block_start, pad_check_dup, pad_findlex, +pad_findmy, pad_fixup_inner_anons, pad_free, pad_leavemy, pad_new, +pad_push, pad_reset, pad_setsv, pad_swipe, pad_tidy, pad_undef =item Stack Manipulation Macros @@ -5141,10 +5215,7 @@ It's easier to rsync the source tree, It's more reliable It's easier to rsync the patches, It's a good reference, Finding a start point, Finding how to fix a bug, Finding the source of misbehaviour -=item Perlbug remote interface - -1 http://bugs.perl.org, 2 bugdb@perl.org, 3 -commands_and_bugdids@bugs.perl.org, notes, patches, tests +=item Perlbug administration =item Submitting patches @@ -5187,12 +5258,18 @@ finish, 'enter', print =item Writing a test F, F, F, F, F, F, -F, F, t/base t/comp, t/cmd t/run t/io t/op, t/lib ext lib +F, F, F, F, F, t/base t/comp, +t/cmd t/run t/io t/op, t/lib ext lib =item Special Make Test Targets coretest, test.deparse, minitest, test.third check.third utest.third -ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8 +ucheck.third, test.torture torturetest, utest ucheck test.utf8 check.utf8, +test_harness + +=item Running tests by hand + +PERL_CORE=1, PERL_DESTRUCT_LEVEL=2, PERL, PERL_SKIP_TTY_TEST =back @@ -5239,6 +5316,31 @@ I =back +=head2 perldoc - Look up Perl documentation in Pod format. + +=over 4 + +=item SYNOPSIS + +=item DESCRIPTION + +=item OPTIONS + +B<-h>, B<-v>, B<-t>, B<-u>, B<-m> I, B<-l>, B<-F>, B<-f> +I, B<-q> I, B<-T>, B<-d> +I, B<-o> I, B<-M> I, +B<-w> I or B<-w> I