summaryrefslogtreecommitdiff
path: root/ext/IO
diff options
context:
space:
mode:
authorStéphane Payrard <stef@mongueurs.net>2002-10-15 04:17:03 +0200
committerhv <hv@crypt.org>2002-10-20 14:33:16 +0000
commit40a3dda160f7716cf8fb3c9068ec08ae7f6c681e (patch)
tree04c699fba76003acefb0c50331aaf75a32e71f17 /ext/IO
parentf569508ea9a702bfcab8cb9379c22c4e8e3e3b15 (diff)
downloadperl-40a3dda160f7716cf8fb3c9068ec08ae7f6c681e.tar.gz
Re: [PATCH] Warning on pararameterless 'use IO' and doc update
Message-ID: <20021015001703.GG7914@stefp.dyndns.org> p4raw-id: //depot/perl@18039
Diffstat (limited to 'ext/IO')
-rw-r--r--ext/IO/IO.pm23
1 files changed, 20 insertions, 3 deletions
diff --git a/ext/IO/IO.pm b/ext/IO/IO.pm
index 0087530c7e..eb78c8a763 100644
--- a/ext/IO/IO.pm
+++ b/ext/IO/IO.pm
@@ -10,6 +10,8 @@ XSLoader::load 'IO', $VERSION;
sub import {
shift;
+ warnings::warn('all', qq|parameterless "use IO" deprecated|)
+ if defined &warnings::warn && warnings::enabled('all');
my @l = @_ ? @_ : qw(Handle Seekable File Pipe Socket Dir);
eval join("", map { "require IO::" . (/(\w+)/)[0] . ";\n" } @l)
@@ -26,12 +28,13 @@ IO - load various IO modules
=head1 SYNOPSIS
- use IO;
+ use IO qw(Handle File); # loads IO modules, here IO::Handle, IO::File
+ use IO; # DEPRECATED
=head1 DESCRIPTION
-C<IO> provides a simple mechanism to load some of the IO modules at one go.
-Currently this includes:
+C<IO> provides a simple mechanism to load several of the IO modules
+in one go. The IO modules belonging to the core are:
IO::Handle
IO::Seekable
@@ -39,9 +42,23 @@ Currently this includes:
IO::Pipe
IO::Socket
IO::Dir
+ IO::Select
+ IO::Poll
+
+Some other IO modules don't belong to the perl core but can be loaded
+as well if they have been installed from CPAN. You can discover which
+ones exist by searching for "^IO::" on http://search.cpan.org.
For more information on any of these modules, please see its respective
documentation.
+=head1 DEPRECATED
+
+ use IO; # loads all the modules listed below
+
+The loaded modules are IO::Handle, IO::Seekable, IO::File, IO::Pipe,
+IO::Socket, IO::Dir. You should instead explicitly import the IO
+modules you want.
+
=cut