Re: perldelta, take 3
[p5sagit/p5-mst-13.2.git] / pod / perlnews.pod
index 7e6e626..6c12d29 100644 (file)
@@ -25,6 +25,13 @@ binary compatibility with Perl 5.003.  If you choose binary
 compatibility, you do not have to recompile your extensions, but you
 might have symbol conflicts if you embed Perl in another application.
 
+=head2 New Opcode Module and Revised Safe Module
+
+A new Opcode module supports the creation, manipulation and
+application of opcode masks.  The revised Safe module has a new API
+and is implemented using the new Opcode module.  Please read the new
+Opcode and Safe documentation.
+
 =head2 Internal Change: FileHandle Deprecated
 
 Filehandles are now stored internally as type IO::Handle.
@@ -33,12 +40,6 @@ are still supported for backwards compatibility
 C<use IO::Handle> (or C<IO::Seekable> or C<IO::File>) and
 C<*STDOUT{IO}> are the way of the future.
 
-=head2 Internal Change: Safe Module Absorbed into Opcode
-
-A new Opcode module subsumes 5.003's Safe module.  The Safe
-interface is still available, so existing scripts should still
-work, but users are encouraged to read the new Opcode documentation.
-
 =head2 Internal Change: PerlIO internal IO abstraction interface.
 
 It is now possible to build Perl with AT&T's sfio IO package
@@ -162,10 +163,16 @@ this more than we have to.)
 =item use Module VERSION LIST
 
 If the VERSION argument is present between Module and LIST, then the
-C<use> will fail if the $VERSION variable in package Module is
-less than VERSION.
+C<use> will call the VERSION method in class Module with the given
+version as an argument.  The default VERSION method, inherited from
+the Universal class, croaks if the given version is larger than the
+value of the variable $Module::VERSION.  (Note that there is not a
+comma after VERSION!)
 
-Note that there is not a comma after the version!
+This version-checking mechanism is similar to the one currently used
+in the Exporter module, but it is faster and can be used with modules
+that don't use the Exporter.  It is the recommended method for new
+code.
 
 =item prototype(FUNCTION)
 
@@ -209,16 +216,16 @@ I<undef> is returned.
 
 =item VERSION( [NEED] )
 
-C<VERSION> returns the version number of the class (package). If the
-NEED argument is given then it will check that the current version is
-not less than NEED and die if this is not the case. This method is
-normally called as a class method. This method is also called when the
-C<VERSION> form of C<use> is used.
+C<VERSION> returns the version number of the class (package).  If the
+NEED argument is given then it will check that the current version (as
+defined by the $VERSION variable in the given package) not less than
+NEED; it will die if this is not the case.  This method is normally
+called as a class method.  This method is called automatically by the
+C<VERSION> form of C<use>.
 
     use A 1.2 qw(some imported subs);
-
-    A->VERSION( 1.2 );
-    $ref->is_instance();    # True
+    # implies:
+    A->VERSION(1.2);
 
 =item class()
 
@@ -320,7 +327,7 @@ See L<perllocale> for more information.
 
 =item use ops
 
-Restricts unsafe operations when compiling.
+Disable unsafe opcodes, or any named opcodes, when compiling Perl code.
 
 =back
 
@@ -358,6 +365,8 @@ Brand new modules:
     User/grent.pm        Object-oriented wrapper around CORE::getgr*
     User/pwent.pm        Object-oriented wrapper around CORE::getpw*
 
+    lib/Tie/RefHash.pm   Base class for tied hashes with references as keys
+
     UNIVERSAL.pm         Base class for *ALL* classes
 
 =head2 IO
@@ -416,7 +425,8 @@ All hash keys with the same string are only allocated once, so
 even if you have 100 copies of the same hash, the immutable keys
 never have to be re-allocated.
 
-Functions that do nothing but return a fixed value are now inlined.
+Functions that have an empty prototype and that do nothing but return
+a fixed value are now inlined (e.g. C<sub PI () { 3.14159 }>).
 
 =head1 Documentation Changes
 
@@ -425,18 +435,22 @@ new pods are included in section 1:
 
 =over 4
 
-=item L<perli18n>
+=item L<perlnews>
 
-Internationalization.
+This document.
 
-=item L<perlapio>
+=item L<perllocale>
 
-Perl internal IO abstraction interface.
+Locale support (internationalization and localization).
 
 =item L<perltoot>
 
 Tutorial on Perl OO programming.
 
+=item L<perlapio>
+
+Perl internal IO abstraction interface.
+
 =item L<perldebug>
 
 Although not new, this has been massively updated.
@@ -638,5 +652,4 @@ Constructed by Tom Christiansen, grabbing material with permission
 from innumerable contributors, with kibitzing by more than a few Perl
 porters.
 
-Last update:
-Wed Dec 18 16:18:27 EST 1996
+Last update: Tue Dec 24 16:45:14 EST 1996