X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlvar.pod;h=68c8303aea6c2b77d733d8cf4f2c850bcf69eb56;hb=3b910f1cdd4f8ae1cc44d538e0b3182f132b4bf7;hp=53fe6c92c87345e5c7e6ce0043010b5283981e3e;hpb=304dea91bf747b5b240c3ec3a6a4dfebeab12289;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlvar.pod b/pod/perlvar.pod index 53fe6c9..68c8303 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -374,7 +374,8 @@ will read a record of no more than 32768 bytes from FILE. If you're not reading from a record-oriented file (or your OS doesn't have record-oriented files), then you'll likely get a full chunk of data with every read. If a record is larger than the record size you've -set, you'll get the record back in pieces. +set, you'll get the record back in pieces. Trying to set the record +size to zero or less will cause reading in the (rest of the) whole file. On VMS, record reads are done with the equivalent of C, so it's best not to mix record and non-record reads on the same @@ -411,12 +412,9 @@ for that. (Mnemonic: when you want your pipes to be piping hot.) =item $, -The output field separator for the print operator. Ordinarily the -print operator simply prints out its arguments without further -adornment. To get behavior more like B, set this variable as -you would set B's OFS variable to specify what is printed -between fields. (Mnemonic: what is printed when there is a "," in -your print statement.) +The output field separator for the print operator. If defined, this +value is printed between each of print's arguments. Default is C. +(Mnemonic: what is printed when there is a "," in your print statement.) =item IO::Handle->output_record_separator EXPR @@ -426,14 +424,10 @@ your print statement.) =item $\ -The output record separator for the print operator. Ordinarily the -print operator simply prints out its arguments as is, with no -trailing newline or other end-of-record string added. To get -behavior more like B, set this variable as you would set -B's ORS variable to specify what is printed at the end of the -print. (Mnemonic: you set C<$\> instead of adding "\n" at the -end of the print. Also, it's just like C<$/>, but it's what you -get "back" from Perl.) +The output record separator for the print operator. If defined, this +value is printed after the last of print's arguments. Default is C. +(Mnemonic: you set C<$\> instead of adding "\n" at the end of the print. +Also, it's just like C<$/>, but it's what you get "back" from Perl.) =item $LIST_SEPARATOR @@ -475,18 +469,6 @@ taken for something more important.) Consider using "real" multidimensional arrays as described in L. -=item $# - -The output format for printed numbers. This variable is a half-hearted -attempt to emulate B's OFMT variable. There are times, however, -when B and Perl have differing notions of what counts as -numeric. The initial value is "%.Ig", where I is the value -of the macro DBL_DIG from your system's F. This is different from -B's default OFMT setting of "%.6g", so you need to set C<$#> -explicitly to get B's value. (Mnemonic: # is the number sign.) - -Use of C<$#> is deprecated. - =item HANDLE->format_page_number(EXPR) =item $FORMAT_PAGE_NUMBER @@ -528,9 +510,9 @@ C<$-[>IC<]> is the offset of the start of the substring matched by I-th subpattern, or undef if the subpattern did not match. Thus after a match against $_, $& coincides with C. Similarly, C<$>I coincides with CIC<], -$+[>IC<] - $-[>IC<]> if C<$-[>IC<]> is defined, and $+ coincides with -C. One can use C<$#-> to find the last +$+[0] - $-[0]>. Similarly, $I coincides with C if C<$-[n]> is defined, and $+ coincides with +C. One can use C<$#-> to find the last matched subgroup in the last successful match. Contrast with C<$#+>, the number of subgroups in the regular expression. Compare with C<@+>. @@ -556,7 +538,7 @@ After a match against some variable $var: =item C<$2> is the same as C -=item C<$3> is the same as C +=item C<$3> is the same as C =back @@ -617,7 +599,7 @@ L. The status returned by the last pipe close, backtick (C<``>) command, successful call to wait() or waitpid(), or from the system() operator. This is just the 16-bit status word returned by the -wait() system call (or else is made up to look like it). Thus, the +traditional Unix wait() system call (or else is made up to look like it). Thus, the exit value of the subprocess is really (C<<< $? >> 8 >>>), and C<$? & 127> gives which signal, if any, the process died from, and C<$? & 128> reports whether there was a core dump. (Mnemonic: @@ -643,6 +625,17 @@ status; see L for details. Also see L. +=item ${^CHILD_ERROR_NATIVE} + +The native status returned by the last pipe close, backtick (C<``>) +command, successful call to wait() or waitpid(), or from the system() +operator. On POSIX-like systems this value can be decoded with the +WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG +and WIFCONTINUED functions provided by the L module. + +Under VMS this reflects the actual VMS exit status; i.e. it is the same +as $? when the pragma C is in effect. + =item ${^ENCODING} The I to the Encode object that is used to convert @@ -855,7 +848,7 @@ changes. Modifying the $0 is more useful as a way of indicating the current program state than it is for hiding the program you're running. (Mnemonic: same as B and B.) -Note that there are platform specific limitations on the the maximum +Note that there are platform specific limitations on the maximum length of C<$0>. In the most extreme case it may be limited to the space occupied by the original C<$0>. @@ -873,7 +866,7 @@ and version). This is an operating system feature, Perl cannot help it. In multithreaded scripts Perl coordinates the threads so that any thread may modify its copy of the C<$0> and the change becomes visible -to ps(1) (assuming the operating system plays along). Note that the +to ps(1) (assuming the operating system plays along). Note that the view of C<$0> the other threads have will not change since they have their own copies of it. @@ -891,8 +884,8 @@ directive, and cannot influence the behavior of any other file. Its use is highly discouraged. Note that, unlike other compile-time directives (such as L), -assignment to $[ can be seen from outer lexical scopes in the same file. -However, you can use local() on it to strictly bound its value to a +assignment to C<$[> can be seen from outer lexical scopes in the same file. +However, you can use local() on it to strictly bind its value to a lexical block. =item $] @@ -1002,11 +995,8 @@ version of the same lexical pragma: =item %^H -WARNING: This variable is strictly for internal use only. Its availability, -behavior, and contents are subject to change without notice. - The %^H hash provides the same scoping semantic as $^H. This makes it -useful for implementation of lexically scoped pragmas. +useful for implementation of lexically scoped pragmas. See L. =item $INPLACE_EDIT @@ -1020,15 +1010,16 @@ inplace editing. (Mnemonic: value of B<-i> switch.) By default, running out of memory is an untrappable, fatal error. However, if suitably built, Perl can use the contents of C<$^M> as an emergency memory pool after die()ing. Suppose that your Perl -were compiled with -DPERL_EMERGENCY_SBRK and used Perl's malloc. +were compiled with C<-DPERL_EMERGENCY_SBRK> and used Perl's malloc. Then $^M = 'a' x (1 << 16); would allocate a 64K buffer for use in an emergency. See the F file in the Perl distribution for information on how to -enable this option. To discourage casual use of this advanced -feature, there is no L long name for this variable. +add custom C compilation flags when compiling perl. To discourage casual +use of this advanced feature, there is no L long name for +this variable. =item $OSNAME @@ -1152,6 +1143,19 @@ documentation for the C<-C> switch for more information about the possible values. This variable is set during Perl startup and is thereafter read-only. +=item ${^UTF8CACHE} + +This variable controls the state of the internal UTF-8 offset caching code. +1 for on (the default), 0 for off, -1 to debug the caching code by checking +all its results against linear scans, and panicking on any discrepancy. + +=item ${^UTF8LOCALE} + +This variable indicates whether an UTF-8 locale was detected by perl at +startup. This information is used by perl when it's in +adjust-utf8ness-to-locale mode (as when run with the C<-CL> command-line +switch); see L for more info on this. + =item $PERL_VERSION =item $^V @@ -1162,11 +1166,14 @@ it equals C and will return true for C<$^V eq v5.6.0>. Note that the characters in this string value can potentially be in Unicode range. +This variable first appeared in perl 5.6.0; earlier versions of perl will +see an undefined value. + This can be used to determine whether the Perl interpreter executing a script is in the right range of versions. (Mnemonic: use ^V for Version Control.) Example: - warn "No \"our\" declarations!\n" if $^V and $^V lt v5.6.0; + warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1 To convert C<$^V> into its string representation use sprintf()'s C<"%vd"> conversion: @@ -1191,12 +1198,25 @@ related to the B<-w> switch.) See also L. The current set of warning checks enabled by the C pragma. See the documentation of C for more details. +=item ${^WIN32_SLOPPY_STAT} + +If this variable is set to a true value, then stat() on Windows will +not try to open the file. This means that the link count cannot be +determined and file attributes may be out of date if additional +hardlinks to the file exist. On the other hand, not opening the file +is considerably faster, especially for files on network drives. + +This variable could be set in the F file to +configure the local Perl installation to use "sloppy" stat() by +default. See L for more information about site +customization. + =item $EXECUTABLE_NAME =item $^X The name used to execute the current copy of Perl, from C's -C. +C or (where supported) F. Depending on the host operating system, the value of $^X may be a relative or absolute pathname of the perl program file, or may