summaryrefslogtreecommitdiff
path: root/pod/perldelta.pod
diff options
context:
space:
mode:
Diffstat (limited to 'pod/perldelta.pod')
-rw-r--r--pod/perldelta.pod106
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