X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pod%2Fperlguts.pod;h=fb52ecfcb739d42f4d971f5e76fc4b6680fc45e8;hb=a77df738193280ffa098f7f89c9640b77c4b9d4c;hp=b46ccc39b01e1797c8dd727d8a1fa29075d5326e;hpb=9abd00ed50d0f365eaf966f7c6c43a9e54e91a44;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pod/perlguts.pod b/pod/perlguts.pod index b46ccc3..fb52ecf 100644 --- a/pod/perlguts.pod +++ b/pod/perlguts.pod @@ -76,8 +76,8 @@ the format. The C functions are not generic enough to operate on values that have "magic". See L later in this document. -All SVs that will contain strings should, but need not, be terminated -with a NUL character. If it is not NUL-terminated there is a risk of +All SVs that contain strings should be terminated with a NUL character. +If it is not NUL-terminated there is a risk of core dumps and corruptions from code which passes the string to C functions or system calls which expect a NUL-terminated string. Perl's own functions typically add a trailing NUL for this reason. @@ -614,8 +614,7 @@ including (but not limited to) the following: Scalar Value Array Value Hash Value - File Handle - Directory Handle + I/O Handle Format Subroutine @@ -1327,7 +1326,7 @@ This is converted to a tree similar to this one: / \ $b $c -(but slightly more complicated). This tree reflect the way Perl +(but slightly more complicated). This tree reflects the way Perl parsed your code, but has nothing to do with the execution order. There is an additional "thread" going through the nodes of the tree which shows the order of execution of the nodes. In our simplified @@ -1400,7 +1399,7 @@ and corresponding check routines is described in F (do not forget to run C if you modify this file). A check routine is called when the node is fully constructed except -for the execution-order thread. Since at this time there is no +for the execution-order thread. Since at this time there are no back-links to the currently constructed node, one can do most any operation to the top-level node, including freeing it and/or creating new nodes above/below it. @@ -1427,7 +1426,7 @@ created. =head2 Compile pass 2: context propagation When a context for a part of compile tree is known, it is propagated -down through the tree. Aat this time the context can have 5 values +down through the tree. At this time the context can have 5 values (instead of 2 for runtime context): void, boolean, scalar, list, and lvalue. In contrast with the pass 1 this pass is processed from top to bottom: a node's context determines the context for its children. @@ -1443,7 +1442,7 @@ of free()ing (i.e. their type is changed to OP_NULL). After the compile tree for a subroutine (or for an C or a file) is created, an additional pass over the code is performed. This pass is neither top-down or bottom-up, but in the execution order (with -additional compilications for conditionals). These optimizations are +additional complications for conditionals). These optimizations are done in the subroutine peep(). Optimizations performed at this stage are subject to the same restrictions as in the pass 2. @@ -1624,6 +1623,13 @@ to indicate the number of items on the stack. Sets up the C variable for an XSUB which has aliases. This is usually handled automatically by C. +=item do_binmode + +Switches filehandle to binmode. C is what C would +contain. + + do_binmode(fp, iotype, TRUE); + =item ENTER Opening bracket on a callback. See C and L. @@ -1695,7 +1701,7 @@ Used to indicate scalar context. See C, C, and L. Returns the glob with the given C and a defined subroutine or C. The glob lives in the given C, or in the stashes -accessable via @ISA and @. +accessable via @ISA and @UNIVERSAL. The argument C should be either 0 or -1. If C, as a side-effect creates a glob with the given C in the given @@ -2814,7 +2820,7 @@ will return false. Returns the integer which is in the SV. int SvIV (SV* sv) - + =item SvIVX Returns the integer which is stored in the SV.