summaryrefslogtreecommitdiffstats
path: root/perl/perl-IO-All/README
blob: 32c21d5b4bf712ff57cd432bc5ec1532cb66936b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
IO::All combines all of the best Perl IO modules into a single nifty object
oriented interface to greatly simplify your everyday Perl IO idioms. It exports
a single function called io, which returns a new IO::All object. And that
object can do it all!

The IO::All object is a proxy for IO::File, IO::Dir, IO::Socket, Tie::File,
File::Spec, File::Path, File::MimeInfo and File::ReadBackwards; as well as all
the DBM and MLDBM modules. You can use most of the methods found in these
classes and in IO::Handle (which they inherit from). IO::All adds dozens of
other helpful idiomatic methods including file stat and manipulation functions.

IO::All is pluggable, and modules like IO::All::LWP and IO::All::Mailto add
even more functionality. Optionally, every IO::All object can be tied to
itself. This means that you can use most perl IO builtins on it: readline,
<>, getc, print, printf, syswrite, sysread, close.

The distinguishing magic of IO::All is that it will automatically open (and
close) files, directories, sockets and other IO things for you. You never need
to specify the mode (<, >>, etc), since it is determined by the usage context.