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. That means you can replace this:
open STUFF, '<', './mystuff' or die "Can't open './mystuff' for input:\n$!"; local $/; my $stuff = <STUFF>; close STUFF;
with this:
my $stuff < io './mystuff';
And that is a good thing!
Package Version | Update ID | Released | Package Hub Version | Platforms | Subpackages |
---|---|---|---|---|---|
0.87-bp156.3.1 info | GA Release | 2023-07-22 | 15 SP6 |
|
|
0.87-bp155.2.10 info | GA Release | 2023-05-17 | 15 SP5 |
|
|
0.87-bp154.1.23 info | GA Release | 2022-05-09 | 15 SP4 |
|
|
0.87-bp153.1.15 info | GA Release | 2021-03-06 | 15 SP3 |
|
|
0.87-bp152.3.16 info | GA Release | 2020-04-16 | 15 SP2 |
|
|
0.87-bp151.3.1 info | GA Release | 2019-07-16 | 15 SP1 |
|
|
0.87-bp151.2.14 info | GA Release | 2019-05-18 | 15 SP1 |
|
|
0.87-bp150.2.4 info | GA Release | 2018-07-30 | 15 |
|
|