summaryrefslogtreecommitdiffstats
path: root/perl/perl-IO-All/README
blob: 484d1080b15ddfad0d8dd90b87429d4d5d953cf8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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.