xref: /openbsd/gnu/usr.bin/perl/dist/IO/IO.pm (revision 898184e3)
1#
2
3package IO;
4
5use XSLoader ();
6use Carp;
7use strict;
8use warnings;
9
10our $VERSION = "1.25_06";
11XSLoader::load 'IO', $VERSION;
12
13sub import {
14    shift;
15
16    warnings::warnif('deprecated', qq{Parameterless "use IO" deprecated})
17        if @_ == 0 ;
18
19    my @l = @_ ? @_ : qw(Handle Seekable File Pipe Socket Dir);
20
21    eval join("", map { "require IO::" . (/(\w+)/)[0] . ";\n" } @l)
22	or croak $@;
23}
24
251;
26
27__END__
28
29=head1 NAME
30
31IO - load various IO modules
32
33=head1 SYNOPSIS
34
35   use IO qw(Handle File); # loads IO modules, here IO::Handle, IO::File
36   use IO;                 # DEPRECATED
37
38=head1 DESCRIPTION
39
40C<IO> provides a simple mechanism to load several of the IO modules
41in one go.  The IO modules belonging to the core are:
42
43      IO::Handle
44      IO::Seekable
45      IO::File
46      IO::Pipe
47      IO::Socket
48      IO::Dir
49      IO::Select
50      IO::Poll
51
52Some other IO modules don't belong to the perl core but can be loaded
53as well if they have been installed from CPAN.  You can discover which
54ones exist by searching for "^IO::" on http://search.cpan.org.
55
56For more information on any of these modules, please see its respective
57documentation.
58
59=head1 DEPRECATED
60
61    use IO;                # loads all the modules listed below
62
63The loaded modules are IO::Handle, IO::Seekable, IO::File, IO::Pipe,
64IO::Socket, IO::Dir.  You should instead explicitly import the IO
65modules you want.
66
67=cut
68
69