View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Ivan Tubert-Brohman > IO-All-LWP > IO::All::LWP



Annotate this POD


New  2
Open  1
View/Report Bugs
Module Version: 0.14   Source  


IO::All::LWP - IO::All interface to LWP


    use IO::All;

    "hello world\n" > io('ftp://localhost/test/x');   # save to FTP
    $content < io('');              # GET webpage

    io('') > io('index.html');      # save webpage


This module acts as glue between IO::All and LWP, so that files can be read and written through the network using the convenient IO:All interface. Note that this module is not used directly: you just use IO::All, which knows when to autoload IO::All::HTTP, IO::All::HTTPS, IO::All::FTP, or IO::All::Gopher, which implement the specific protocols based on IO::All::LWP.


GET requests. When the IO::All object is opened, the URI is fetched and stored by the object in an internal file handle. It can then be accessed like any other file via the IO::All methods and operators, it can be tied, etc.

PUT requests. When the IO::All object is opened, an internal file handle is created. It is possible to that file handle using the various IO::All methods and operators, it can be tied, etc. If $io->put is not called explicitly, when the IO::All object is closed, either explicitly via $io->close or automatically upon destruction, the actual PUT request is made.

The bad news is that the whole file is stored in memory after getting it or before putting it. This may cause problems if you are dealing with multi-gigabyte files!


The simplest way of doing things is via the overloaded operators > and <, as shown in the SYNOPSIS. These take care of automatically opening and closing the files and connections as needed. However, various methods are available to provide a finer degree of control.

This is a subclass of IO::All. In addition to the inherited methods, the following methods are available:


This module uses LWP for all the heavy lifting. It also requires perl-5.8.0 or a more recent version.


IO::All, LWP, IO::All::HTTP, IO::All::FTP.


Ivan Tubert-Brohman <> and Brian Ingerson <>

Thanks to Sergey Gleizer for the ua method.


Copyright (c) 2007. Ivan Tubert-Brohman and Brian Ingerson. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


syntax highlighting: