Microdoctweak.
[p5sagit/p5-mst-13.2.git] / pod / perlrun.pod
index 564d111..4f9afdf 100644 (file)
@@ -166,7 +166,7 @@ common) and how to protect whitespace and these characters to run
 one-liners (see B<-e> below).
 
 On some systems, you may have to change single-quotes to double ones,
-which you must I<not> do on Unix or Plan9 systems.  You might also
+which you must I<not> do on Unix or Plan 9 systems.  You might also
 have to change a single % to a %%.
 
 For example:
@@ -876,7 +876,7 @@ variable are summarised below. For more details see L<PerlIO>.
 =item :bytes
 
 Turns I<off> the C<:utf8> flag for the layer below.
-Unlikey to be useful in global PERLIO environment variable.
+Unlikely to be useful in global PERLIO environment variable.
 
 =item :crlf
 
@@ -909,19 +909,21 @@ C<:perlio> will insert a C<:unix> layer below itself to do low level IO.
 
 =item :raw
 
-Arranges for all accesses go straight to the lowest level layer provided
-by the configration. That is it strips off any layers above that layer.
-(The intent - unless layers are then pushed on top again -
-is to make perl's C<read> behave like C<sysread>.)
+Applying the <:raw> layer is equivalent to calling C<binmode($fh)>.
+It makes the stream pass each byte as-is without any translation.
+In particular CRLF translation, and/or :utf8 inuited from locale
+are disabled.
 
-Not really useful in PERLIO environment variable, instead just use C<:unix>
-layer explicitly.
+Arranges for all accesses go straight to the lowest buffered layer provided
+by the configration. That is it strips off any layers above that layer.
 
-In perl5.6 and some books the C<:raw> layer (also called a discipline) is
-documented as the inverse of the C<:crlf> layer. That is not really the case.
-If you want UNIX line endings on a platform that normaly does CRLF translation
-the appropriate thing to do is to add C<:perlio> to PERLIO environment
-variable.
+In Perl 5.6 and some books the C<:raw> layer (previously sometimes also
+referred to as a "discipline") is documented as the inverse of the
+C<:crlf> layer. That is no longer the case - other layers which would
+alter binary nature of the stream are also disabled.  If you want UNIX
+line endings on a platform that normally does CRLF translation, but still
+want UTF-8 or encoding defaults the appropriate thing to do is to add
+C<:perlio> to PERLIO environment variable.
 
 =item :stdio
 
@@ -948,7 +950,7 @@ default. (To turn off that behaviour use C<:bytes> layer.)
 
 =item :win32
 
-On Win32 platfroms this I<experimental> layer uses native "handle" IO
+On Win32 platforms this I<experimental> layer uses native "handle" IO
 rather than unix-like numeric file descriptor layer. Known to be
 buggy in this release.
 
@@ -956,14 +958,14 @@ buggy in this release.
 
 On all platforms the default set of layers should give acceptable results.
 
-For UNIX platfroms that will equivalent of "unix perlio" or "stdio".
+For UNIX platforms that will equivalent of "unix perlio" or "stdio".
 Configure is setup to prefer "stdio" implementation if system's library
 provides for fast access to the buffer, otherwise it uses the "unix perlio"
 implementation.
 
 On Win32 the default in this release is "unix crlf". Win32's "stdio"
 has a number of bugs/mis-features for perl IO which are somewhat
-C compiler verndor/version dependant. Using our own C<crlf> layer as
+C compiler vendor/version dependent. Using our own C<crlf> layer as
 the buffer avoids those issues and makes things more uniform.
 The C<crlf> layer provides CRLF to/from "\n" conversion as well as
 buffering.