This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Remove more perldelta boilerplate
[perl5.git] / pod / perliol.pod
index a560d97..767fabd 100644 (file)
@@ -70,10 +70,10 @@ handling binary data.  The "pushed" layers are processed in left-to-right
 order.
 
 sysopen() operates (unsurprisingly) at a lower level in the stack than
-open().  For example in UNIX or UNIX-like systems sysopen() operates
+open().  For example in Unix or Unix-like systems sysopen() operates
 directly at the level of file descriptors: in the terms of PerlIO
 layers, it uses only the "unix" layer, which is a rather thin wrapper
-on top of the UNIX file descriptors.
+on top of the Unix file descriptors.
 
 =head2 Layers vs Disciplines
 
@@ -526,11 +526,12 @@ passed to C<open>, otherwise it will be 1 if for example
 C<PerlIO_open> was called.  In simple cases SvPV_nolen(*args) is the
 pathname to open.
 
-Having said all that translation-only layers do not need to provide
-C<Open()> at all, but rather leave the opening to a lower level layer
-and wait to be "pushed".  If a layer does provide C<Open()> it should
-normally call the C<Open()> method of next layer down (if any) and
-then push itself on top if that succeeds.
+If a layer provides C<Open()> it should normally call the C<Open()>
+method of next layer down (if any) and then push itself on top if that
+succeeds.  C<PerlIOBase_open> is provided to do exactly that, so in
+most cases you don't have to write your own C<Open()> method.  If this
+method is not defined, other layers may have difficulty pushing
+themselves on top of it during open.
 
 If C<PerlIO_push> was performed and open has failed, it must
 C<PerlIO_pop> itself, since if it's not, the layer won't be removed
@@ -837,7 +838,7 @@ The following table summarizes the behaviour:
     Unread      PerlIOBase_unread
     Write       FAILURE
 
- FAILURE        Set errno (to EINVAL in UNIXish, to LIB$_INVARG in VMS) and
+ FAILURE        Set errno (to EINVAL in Unixish, to LIB$_INVARG in VMS) and
                 return -1 (for numeric return values) or NULL (for pointers)
  INHERITED      Inherited from the layer below
  SUCCESS        Return 0 (for numeric return values) or a pointer 
@@ -922,7 +923,7 @@ which do not need to do anything special for a particular method.
 
 =head2 Extension Layers
 
-Layers can made available by extension modules. When an unknown layer
+Layers can be made available by extension modules. When an unknown layer
 is encountered the PerlIO code will perform the equivalent of :
 
    use PerlIO 'layer';