package IO::All::FTP;
use strict;
use warnings;
our $VERSION = '0.14';
use IO::All::LWP '-base';
const type => 'ftp';
sub ftp { my $self=shift; $self->lwp_init(__PACKAGE__, @_) }
1;
__END__
=head1 NAME
IO::All::FTP - Extends IO::All to FTP URLs
=head1 SYNOPSIS
use IO::All;
"hello world\n" > io('ftp://localhost/test/x'); # save to FTP
io('ftp//example.org/pub/xyz') > io('xyz'); # GET to file
# two ways of getting a file with a password:
$content < io('ftp://me:secret@example.org/xyz');
$content < io('ftp://example.org/xyz')->user('me')->password('secret');
=head1 DESCRIPTION
This module extends IO::All for dealing with FTP URLs.
Note that you don't need to use it explicitly, as it is autoloaded by
L<IO::All> whenever it sees something that looks like an FTP URL.
=head1 METHODS
This is a subclass of L<IO::All::LWP>. The only new method is C<ftp>, which
can be used to create a blank L<IO::All::FTP> object; or it can also take an
FTP URL as a parameter. Note that in most cases it is simpler just to call
io('ftp//example.com'), which calls the C<ftp> method automatically.
=head1 OPERATOR OVERLOADING
The same operators from IO::All may be used. < GETs an FTP URL; > PUTs to
an FTP URL.
=head1 SEE ALSO
L<IO::All::LWP>, L<IO::All>, L<LWP>.
=head1 AUTHORS
Ivan Tubert-Brohman <itub@cpan.org> and
Brian Ingerson <ingy@cpan.org>
=head1 COPYRIGHT
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.
See L<http://www.perl.com/perl/misc/Artistic.html>
=cut