diff options
Diffstat (limited to 'pod/perldelta.pod')
-rw-r--r-- | pod/perldelta.pod | 106 |
1 files changed, 88 insertions, 18 deletions
diff --git a/pod/perldelta.pod b/pod/perldelta.pod index b33f1ff81f..04e9a45ab8 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -34,21 +34,6 @@ 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 Extended Fcntl Module - -The Fcntl module now supports these new constants - - F_GETOWN F_SETOWN - O_ASYNC O_DEFER O_DSYNC O_RSYNC O_SYNC - O_EXLOCK O_SHLOCK - -provided that your operating system supports these constants. The -constants are for use with the Perl sysopen() and fcntl(). These -constants are also visible for the basic database modules like the -SDBM_File. For the exact meaning of these contants and other Fcntl -constants please refer to the fcntl() documentation of your operating -system. Unsupported constants will cause run-time errors. - =head2 Internal Change: FileHandle Deprecated Filehandles are now stored internally as type IO::Handle. @@ -243,7 +228,7 @@ before, and is fine now: The C<UNIVERSAL> package automatically contains the following methods that are inherited by all other classes: -=over 4 +=over =item isa(CLASS) @@ -429,6 +414,21 @@ provided that your operating system happens to support them: O_ASYNC O_DEFER O_DSYNC O_FSYNC O_SYNC O_EXLOCK O_SHLOCK +These constants are intended for use with the Perl operators sysopen() +and fcntl() and the basic database modules like SDBM_File. For the +exact meaning of these and other Fcntl constants please refer to your +operating system's documentation for fcntl() and open(). + +In addition, the Fcntl module now provides these constants for use +with the Perl operator flock(): + + LOCK_SH LOCK_EX LOCK_NB LOCK_UN + +These constants are defined in all environments (because where there is +no flock() system call, Perl emulates it). However, for historical +reasons, these constants are not exported unless they are explicitly +requested with the ":flock" tag (e.g. C<use Fcntl ':flock'>). + =head2 Module Information Summary Brand new modules, arranged by topic rather than strictly @@ -499,6 +499,52 @@ And these functions are now exported: sinh cosh tanh cotanh asinh acosh atanh acotanh cplx cplxe +=head2 DB_File + +There have been quite a few changes made to DB_File. Here are a few of +the highlights: + +=over + +=item * + +Fixed a handful of bugs. + +=item * + +By public demand, added support for the standard hash function exists(). + +=item * + +Made it compatible with Berkeley DB 1.86. + +=item * + +Made negative subscripts work with RECNO interface. + +=item * + +Changed the default flags from O_RDWR to O_CREAT|O_RDWR and the default +mode from 0640 to 0666. + +=item * + +Made DB_File automatically import the open() constants (O_RDWR, +O_CREAT etc.) from Fcntl, if available. + +=item * + +Updated documentation. + +=back + +Refer to the HISTORY section in DB_File.pm for a complete list of +changes. Everything after DB_File 1.01 has been added since 5.003. + +=head2 Net::Ping + +Major rewrite - support added for both udp echo and real icmp pings. + =head2 Overridden Built-ins Many of the Perl built-ins returning lists now have @@ -524,6 +570,8 @@ For example, you can now say =head2 xsubpp +=over + =item C<void> XSUBs now default to returning nothing Due to a documentation/implementation bug in previous versions of @@ -543,12 +591,34 @@ It does so by examining the text of the XSUB: if I<xsubpp> finds what looks like an assignment to C<ST(0)>, it assumes that the XSUB's return type is really C<SV *>. +=back + +=head1 C Language API Changes + +=over + +=item C<gv_fetchmethod> and C<perl_call_sv> + +The C<gv_fetchmethod> function finds a method for an object, just like +in Perl 5.003. The GV it returns may be a method cache entry. +However, in Perl 5.004, method cache entries are not visible to users; +therefore, they can no longer be passed directly to C<perl_call_sv>. +Instead, you should use the C<GvCV> macro on the GV to extract its CV, +and pass the CV to C<perl_call_sv>. + +The most likely symptom of passing the result of C<gv_fetchmethod> to +C<perl_call_sv> is Perl's producing an "Undefined subroutine called" +error on the I<second> call to a given method (since there is no cache +on the first call). + +=back + =head1 Documentation Changes Many of the base and library pods were updated. These new pods are included in section 1: -=over 4 +=over =item L<perldelta> @@ -592,7 +662,7 @@ increasing order of desperation): (X) A very fatal error (non-trappable). (A) An alien error message (not generated by Perl). -=over 4 +=over =item "my" variable %s masks earlier declaration in same scope |