X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlvar.pod;h=571953fcbc54eb9e27e2dc9ada5ea70c9ef01363;hb=cccede5366275457276b68bb148b7872098aaf29;hp=100361bc13b8997705b67832591670b5d53edf88;hpb=7f510801a3443119091164e5439b7cec4f96aa30;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlvar.pod b/pod/perlvar.pod index 100361b..571953f 100644 --- a/pod/perlvar.pod +++ b/pod/perlvar.pod @@ -769,6 +769,12 @@ The process number of the Perl running this script. You should consider this variable read-only, although it will be altered across fork() calls. (Mnemonic: same as shells.) +Note for Linux users: on Linux, the C functions C and +C return different values from different threads. In order to +be portable, this behavior is not reflected by C<$$>, whose value remains +consistent across threads. If you want to call the underlying C, +you may use the CPAN module C. + =item $REAL_USER_ID =item $UID @@ -863,6 +869,10 @@ from the ps(1) output. For example, setting C<$0> to C<"foobar"> will result in C<"perl: foobar (perl)">. This is an operating system feature. +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). + =item $[ The index of the first element in an array, and of the first character @@ -1012,8 +1022,8 @@ between the variants. =item ${^OPEN} An internal variable used by PerlIO. A string in two parts, separated -by a C<\0> byte, the first part is the input disciplines, the second -part is the output disciplines. +by a C<\0> byte, the first part describes the input layers, the second +part describes the output layers. =item $PERLDB @@ -1081,9 +1091,15 @@ regular expression assertion (see L). May be written to. =item $^S -Current state of the interpreter. Undefined if parsing of the current -module/eval is not finished (may happen in $SIG{__DIE__} and -$SIG{__WARN__} handlers). True if inside an eval(), otherwise false. +Current state of the interpreter. + + $^S State + --------- ------------------- + undef Parsing module/eval + true (1) Executing an eval + false (0) Otherwise + +The first state may happen in $SIG{__DIE__} and $SIG{__WARN__} handlers. =item $BASETIME @@ -1095,8 +1111,16 @@ and B<-C> filetests are based on this value. =item ${^TAINT} -Reflects if taint mode is on or off (i.e. if the program was run with -B<-T> or not). True for on, false for off. +Reflects if taint mode is on or off. 1 for on (the program was run with +B<-T>), 0 for off, -1 when only taint warnings are enabled (i.e. with +B<-t> or B<-TU>). This variable is read-only. + +=item ${^UNICODE} + +Reflects certain Unicode settings of Perl. See L +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 $PERL_VERSION @@ -1137,21 +1161,6 @@ 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 ${^WIDE_SYSTEM_CALLS} - -Global flag that enables system calls made by Perl to use wide character -APIs native to the system, if available. This is currently only implemented -on the Windows platform. - -This can also be enabled from the command line using the C<-C> switch. - -The initial value is typically C<0> for compatibility with Perl versions -earlier than 5.6, but may be automatically set to C<1> by Perl if the system -provides a user-settable default (e.g., C<$ENV{LC_CTYPE}>). - -The C pragma always overrides the effect of this flag in the current -lexical scope. See L. - =item $EXECUTABLE_NAME =item $^X @@ -1225,6 +1234,13 @@ the script. C<$#ARGV> is generally the number of arguments minus one, because C<$ARGV[0]> is the first argument, I the program's command name itself. See C<$0> for the command name. +=item ARGVOUT + +The special filehandle that points to the currently open output file +when doing edit-in-place processing with B<-i>. Useful when you have +to do a lot of inserting and don't want to keep modifying $_. See +L for the B<-i> switch. + =item @F The array @F contains the fields of each line read in when autosplit @@ -1328,6 +1344,10 @@ this: See L. +The delivery policy of signals changed in Perl 5.8.0 from immediate +(also known as "unsafe") to deferred, also known as "safe signals". +See L for more information. + Certain internal hooks can be also set using the %SIG hash. The routine indicated by C<$SIG{__WARN__}> is called when a warning message is about to be printed. The warning message is passed as the first @@ -1460,18 +1480,19 @@ used safely in programs. C<$^_> itself, however, I reserved. Perl identifiers that begin with digits, control characters, or punctuation characters are exempt from the effects of the C -declaration and are always forced to be in package C
. A few -other names are also exempt: +declaration and are always forced to be in package C
; they are +also exempt from C errors. A few other names are also +exempt in these ways: ENV STDIN INC STDOUT ARGV STDERR - ARGVOUT + ARGVOUT _ SIG In particular, the new special C<${^_XYZ}> variables are always taken to be in package C
, regardless of any C declarations -presently in scope. +presently in scope. =head1 BUGS