diff options
Diffstat (limited to 'pod')
-rw-r--r-- | pod/perldata.pod | 27 | ||||
-rw-r--r-- | pod/perldelta.pod | 64 | ||||
-rw-r--r-- | pod/perldiag.pod | 34 | ||||
-rw-r--r-- | pod/perlfunc.pod | 7 | ||||
-rw-r--r-- | pod/perlguts.pod | 12 | ||||
-rw-r--r-- | pod/perlhist.pod | 22 | ||||
-rw-r--r-- | pod/perllexwarn.pod | 4 | ||||
-rw-r--r-- | pod/perlsyn.pod | 2 |
8 files changed, 129 insertions, 43 deletions
diff --git a/pod/perldata.pod b/pod/perldata.pod index f4c660d622..067c6d9bd5 100644 --- a/pod/perldata.pod +++ b/pod/perldata.pod @@ -327,15 +327,24 @@ The special literals __FILE__, __LINE__, and __PACKAGE__ represent the current filename, line number, and package name at that point in your program. They may be used only as separate tokens; they will not be interpolated into strings. If there is no current package -(due to an empty C<package;> directive), __PACKAGE__ is the undefined value. - -The tokens __END__ and __DATA__ may be used to indicate the logical -end of the script before the actual end of file. Any following -text is ignored, but may be read via a DATA filehandle: main::DATA -for __END__, or PACKNAME::DATA (where PACKNAME is the current -package) for __DATA__. The two control characters ^D and ^Z are -synonyms for __END__ in the main program, __DATA__ in a separate -module. See L<SelfLoader> for more description of __DATA__, and +(due to an empty C<package;> directive), __PACKAGE__ is the undefined +value. + +The two control characters ^D and ^Z, and the tokens __END__ and __DATA__ +may be used to indicate the logical end of the script before the actual +end of file. Any following text is ignored. + +Text after __DATA__ but may be read via the filehandle C<PACKNAME::DATA>, +where C<PACKNAME> is the package that was current when the __DATA__ +token was encountered. The filehandle is left open pointing to the +contents after __DATA__. It is the program's responsibility to +C<close DATA> when it is done reading from it. For compatibility with +older scripts written before __DATA__ was introduced, __END__ behaves +like __DATA__ in the toplevel script (but not in files loaded with +C<require> or C<do>) and leaves the remaining contents of the +file accessible via C<main::DATA>. + +See L<SelfLoader> for more description of __DATA__, and an example of its use. Note that you cannot read from the DATA filehandle in a BEGIN block: the BEGIN block is executed as soon as it is seen (during compilation), at which point the corresponding diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 94b4635e7b..772a464293 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -150,15 +150,17 @@ use "quads" (64-integers) as follows: =over 4 -=item constants in the code +=item constants (decimal, hexadecimal, octal, binary) in the code =item arguments to oct() and hex() -=item arguments to print(), printf() and sprintf() +=item arguments to print(), printf() and sprintf() (flag prefixes ll, L, q) -=item pack() and unpack() "q" format +=item printed as such -=item in basic arithmetics +=item pack() and unpack() "q" and "Q" formats + +=item in basic arithmetics: + - * / % =item vec() (but see the below note about bit arithmetics) @@ -167,7 +169,9 @@ use "quads" (64-integers) as follows: Note that unless you have the case (a) you will have to configure and compile Perl using the -Duse64bits Configure flag. -Unfortunately bit arithmetics (&, |, ^, ~, <<, >>) are not 64-bit clean. +Unfortunately bit arithmetics (&, |, ^, ~, <<, >>) for numbers are not +64-bit clean, they are explictly forced to be 32-bit. Bit arithmetics +for bit vectors (created by vec()) are not limited in their width. Last but not least: note that due to Perl's habit of always using floating point numbers the quads are still not true integers. @@ -181,18 +185,25 @@ start losing precision (their lower digits). If you have filesystems that support "large files" (files larger than 2 gigabytes), you may now also be able to create and access them from Perl. -Note that in addition to requiring a proper file system to do this you -may also need to adjust your per-process (or even your per-system) -maximum filesize limits before running Perl scripts that try to handle -large files, especially if you intend to write such files. - -Adjusting your file system/system limits is outside the scope of Perl. -For process limits, you may try to increase the limits using your -shell's limit/ulimit command before running Perl. The BSD::Resource -extension (not included with the standard Perl distribution) may also -be of use. +Note that in addition to requiring a proper file system to do large +files you may also need to adjust your per-process (or your +per-system, or per-process-group, or per-user-group) maximum filesize +limits before running Perl scripts that try to handle large files, +especially if you intend to write such files. + +Finally, in addition to your process/process group maximum filesize +limits, you may have quota limits on your filesystems that stop you +(your user id or your user group id) from using large files. + +Adjusting your process/user/group/file system/operating system limits +is outside the scope of Perl core language. For process limits, you +may try increasing the limits using your shell's limits/limit/ulimit +command before running Perl. The BSD::Resource extension (not +included with the standard Perl distribution) may also be of use, it +offers the getrlimit/setrlimit interface that can be used to adjust +process resource usage limits, including the maximum filesize limit. -(Large file support is also related to 64-bit support, for obvious reasons) +(Large file support is related to 64-bit support, for obvious reasons.) =head2 Better syntax checks on parenthesized unary operators @@ -527,7 +538,9 @@ runtime error. The timelocal() and timegm() functions used to silently return bogus results when the date exceeded the machine's integer range. They -now consistently croak() if the date falls in an unsupported range. +now consistently croak() if the date falls in an unsupported range-- +but on the other hand they now accept "out-of-limits" day-of-month +to make "Julian date" conversions easier. =item Win32 @@ -704,6 +717,16 @@ elements of a subroutine attribute list. If the previous attribute had a parenthesised parameter list, perhaps that list was terminated too soon. +=item Possible Y2K bug: %s + +(W) You are concatenating the number 19 with another number, which +could be a potential Year 2000 problem. + +=item Possible Y2K bug: %s + +(W) You are concatenating the number 19 with another number, which +could be a potential Year 2000 problem. + =item Unterminated attribute parameter in subroutine attribute list (F) The lexer saw an opening (left) parenthesis character while parsing a @@ -750,6 +773,13 @@ because many scripts assume to find Perl in /usr/bin/perl. You can use "Configure -Dusesocks" which causes Perl to probe for the SOCKS proxy protocol library, http://www.socks.nec.com/ +=head2 -A flag + +You can "post-edit" the Configure variables using the Configure -A +flag. The editing happens immediately after the platform specific +hints files have been processed but before the actual configuration +process starts. Run Configure -h to find out the full -A syntax. + =head1 BUGS If you find what you think is a bug, you might check the headers of diff --git a/pod/perldiag.pod b/pod/perldiag.pod index 1c07a31fa6..607a410e38 100644 --- a/pod/perldiag.pod +++ b/pod/perldiag.pod @@ -1240,6 +1240,10 @@ just use C<if (%hash) { # not empty }> for example. C<FOO> is too long for Perl to handle. You have to be seriously twisted to write code that triggers this error. +=item Did not produce a valid header + +See Server error. + =item Did you mean &%s instead? (W) You probably referred to an imported subroutine &FOO as $FOO or some such. @@ -1266,6 +1270,10 @@ to define the subroutine or package before the current location. You can use an empty "sub foo;" or "package FOO;" to enter a "forward" declaration. +=item Document contains no data + +See Server error. + =item Don't know how to handle magic of type '%s' (P) The internal handling of magical variables has been cursed. @@ -1742,6 +1750,10 @@ See L<perlsub/"Lvalue subroutines">. (F) An attempt was made to specify an entry in an overloading table that doesn't resolve to a valid subroutine. See L<overload>. +=item Method %s not permitted + +See Server error. + =item Might be a runaway multi-line %s string starting on line %d (S) An advisory indicating that the previous error may have been caused @@ -2348,6 +2360,11 @@ perspective, it's probably not what you intended. (F) Your C compiler uses POSIX getpgrp(), which takes no argument, unlike the BSD version, which takes a pid. +=item Possible Y2K bug: %s + +(W) You are concatenating the number 19 with another number, which +could be a potential Year 2000 problem. + =item Possible attempt to put comments in qw() list (W) qw() lists contain items separated by whitespace; as with literal @@ -2415,6 +2432,10 @@ and list operators. (The old open was a little of both.) You must put parentheses around the filehandle, or use the new "or" operator instead of "||". +=item Premature end of script headers + +See Server error. + =item print on closed filehandle %s (W) The filehandle you're printing on got itself closed sometime before now. @@ -2608,7 +2629,12 @@ See L<perlre>. =item Server error -Also known as "500 Server error". +This is the error message generally seen in a browser window when trying +to run a CGI program (including SSI) over the web. The actual error +text varies widely from server to server. The most frequently-seen +variants are "500 Server error", "Method (something) not permitted", +"Document contains no data", "Premature end of script headers", and +"Did not produce a valid header". B<This is a CGI error, not a Perl error>. @@ -3310,6 +3336,12 @@ variables. of Perl. Check the #! line, or manually feed your script into Perl yourself. +=item Version number must be a constant number + +(P) The attempt to translate a C<use Module n.n LIST> statement into +its equivalent C<BEGIN> block found an internal inconsistency with +the version number. + =item perl: warning: Setting locale failed. (S) The whole warning message will look something like: diff --git a/pod/perlfunc.pod b/pod/perlfunc.pod index 0d47260e10..995a671110 100644 --- a/pod/perlfunc.pod +++ b/pod/perlfunc.pod @@ -4120,6 +4120,13 @@ If C<use locale> is in effect, the character used for the decimal point in formatted real numbers is affected by the LC_NUMERIC locale. See L<perllocale>. +To cope with broken systems that allow the standard locales to be +overridden by malicious users, the return value may be tainted +if any of the floating point formats are used and the conversion +yields something that doesn't look like a normal C-locale floating +point number. This happens regardless of whether C<use locale> is +in effect or not. + If Perl understands "quads" (64-bit integers) (this requires either that the platform natively supports quads or that Perl has been specifically compiled to support quads), the characters diff --git a/pod/perlguts.pod b/pod/perlguts.pod index 93d4bd70c4..af12297ec3 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -3649,24 +3649,26 @@ Like C<sv_usepvn>, but also handles 'set' magic. void sv_usepvn_mg (SV* sv, char* ptr, STRLEN len) -=item sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, used_locale) +=item sv_vcatpvfn Processes its arguments like C<vsprintf> and appends the formatted output to an SV. Uses an array of SVs if the C style variable argument list is -missing (NULL). Indicates if locale information has been used for formatting. +missing (NULL). When running with taint checks enabled, indicates via +C<maybe_tainted> if results are untrustworthy (often due to the use of +locales). void sv_catpvfn (SV* sv, const char* pat, STRLEN patlen, va_list *args, SV **svargs, I32 svmax, - bool *used_locale); + bool *maybe_tainted); -=item sv_vsetpvfn(sv, pat, patlen, args, svargs, svmax, used_locale) +=item sv_vsetpvfn Works like C<vcatpvfn> but copies the text into the SV instead of appending it. void sv_setpvfn (SV* sv, const char* pat, STRLEN patlen, va_list *args, SV **svargs, I32 svmax, - bool *used_locale); + bool *maybe_tainted); =item SvUV diff --git a/pod/perlhist.pod b/pod/perlhist.pod index 6a171d36f4..f39117e7e4 100644 --- a/pod/perlhist.pod +++ b/pod/perlhist.pod @@ -119,16 +119,16 @@ the strings?). 5.000alpha4 1993-???-?? 5.000alpha5 1993-???-?? 5.000alpha6 1994-Mar-18 - 5.003alpha7 1994-Mar-25 + 5.000alpha7 1994-Mar-25 Andy 5.000alpha8 1994-Apr-04 Larry 5.000alpha9 1994-May-05 ext appears. - 5.000alpha10 1994-???-?? - 5.000alpha11 1994-???-?? + 5.000alpha10 1994-Jun-11 + 5.000alpha11 1994-Jul-01 Andy 5.000a11a 1994-Jul-07 To fit 14. 5.000a11b 1994-Jul-14 5.000a11c 1994-Jul-19 5.000a11d 1994-Jul-22 - Larry 5.000alpha12 1994-???-?? + Larry 5.000alpha12 1994-Aug-04 Andy 5.000a12a 1994-Aug-08 5.000a12b 1994-Aug-15 5.000a12c 1994-Aug-22 @@ -137,8 +137,8 @@ the strings?). 5.000a12f 1994-Aug-24 5.000a12g 1994-Aug-24 5.000a12h 1994-Aug-24 - Larry 5.000beta1 1994-???-?? - Andy 5.000b1a 1994-???-?? + Larry 5.000beta1 1994-Aug-30 + Andy 5.000b1a 1994-Sep-06 Larry 5.000beta2 1994-Sep-14 Core slushified. Andy 5.000b2a 1994-Sep-14 5.000b2b 1994-Sep-17 @@ -152,6 +152,7 @@ the strings?). 5.000b3f 1994-Sep-30 5.000b3g 1994-Oct-04 Andy 5.000b3h 1994-Oct-07 + Larry? 5.000gamma 1994-Oct-13? Larry 5.000 1994-Oct-17 @@ -167,8 +168,9 @@ the strings?). 5.000j 1995-Feb-07 5.000k 1995-Feb-11 5.000l 1995-Feb-21 - 5.000m 1995-???-?? + 5.000m 1995-Feb-28 5.000n 1995-Mar-07 + 5.000o 1995-Mar-13? Larry 5.001 1995-Mar-13 @@ -187,7 +189,7 @@ the strings?). 5.001m 1995-Jul-02 Very stable. 5.001n 1995-Oct-31 Very unstable. 5.002beta1 1995-Nov-21 - 5.002b1a 1995-Nov-?? + 5.002b1a 1995-Dec-04 5.002b1b 1995-Dec-04 5.002b1c 1995-Dec-04 5.002b1d 1995-Dec-04 @@ -549,7 +551,7 @@ Jarkko Hietaniemi <F<jhi@iki.fi>>. Thanks to the collective memory of the Perlfolk. In addition to the Keepers of the Pumpkin also Alan Champion, Andreas König, John -Macdonald, Matthias Neeracher, Michael Peppler, Randal Schwartz, and -Paul D. Smith sent corrections and additions. +Macdonald, Matthias Neeracher, Jeff Okamoto, Michael Peppler, +Randal Schwartz, and Paul D. Smith sent corrections and additions. =cut diff --git a/pod/perllexwarn.pod b/pod/perllexwarn.pod index 8dbae0ddbc..32fc21084e 100644 --- a/pod/perllexwarn.pod +++ b/pod/perllexwarn.pod @@ -313,6 +313,10 @@ produce a fatal error. The experimental features need bottomed out. + perldiag.pod + Need to add warning class information and notes on + how to use the class info with the warnings pragma. + perl5db.pl The debugger saves and restores C<$^W> at runtime. I haven't checked whether the debugger will still work with the lexical warnings diff --git a/pod/perlsyn.pod b/pod/perlsyn.pod index 680ecb9ad9..0dd842d2a2 100644 --- a/pod/perlsyn.pod +++ b/pod/perlsyn.pod @@ -155,7 +155,7 @@ C<if> an C<else> goes with. If you use C<unless> in place of C<if>, the sense of the test is reversed. The C<while> statement executes the block as long as the expression is -true (does not evaluate to the null string (C<""> or C<0> or C<"0">). +true (does not evaluate to the null string C<""> or C<0> or C<"0">). The LABEL is optional, and if present, consists of an identifier followed by a colon. The LABEL identifies the loop for the loop control statements C<next>, C<last>, and C<redo>. |