CTKlib

 view release on metacpan or  search on metacpan

lib/CTK/Plugin/FTP.pm  view on Meta::CPAN

package CTK::Plugin::FTP;
use strict;
use utf8;

=encoding utf-8

=head1 NAME

CTK::Plugin::FTP - FTP plugin

=head1 VERSION

Version 1.02

=head1 SYNOPSIS

    use CTK;
    my $ctk = CTK->new(
            plugins => "ftp",
        );

    $ctk->fetch_ftp(
        -url     => 'ftp://anonymous:anonymous@192.168.0.1/Public/test?Timeout=30',
        -op      => "copy", # copy / move
        -uniq    => 1, # 0 -- off; 1 -- on
        -mode    => "binary", # ascii / binary (default)
        -dirdst  => "/path/to/destination/dir", # Destination directory
        -filter  => qr/\.tmp$/,
    );

    $ctk->store_ftp(
        -url     => 'ftp://anonymous:anonymous@192.168.0.1/Public/test?Timeout=30',
        -op      => "copy", # copy / move
        -uniq    => 1, # 0 -- off; 1 -- on
        -mode    => "binary", # ascii / binary (default)
        -dirsrc  => "/path/to/source/dir", # Source directory
        -filter  => qr/\.tmp$/,
    )

=head1 DESCRIPTION

FTP plugin

=head1 METHODS

=head2 fetch_ftp

    $ctk->fetch_ftp(
        -url     => 'ftp://anonymous:anonymous@192.168.0.1/Public/test?Timeout=30',
        -op      => "copy", # copy / move
        -uniq    => 1, # 0 -- off; 1 -- on
        -mode    => "binary", # ascii / binary (default)
        -dirdst  => "/path/to/destination/dir", # Destination directory
        -files   => ['foo.tgz', 'bar.tgz', 'baz.tgz'],
    );

Download specified files from resource

    $ctk->fetch_ftp(
        -url     => 'ftp://anonymous:anonymous@192.168.0.1/Public/test?Timeout=30',
        -op      => "copy", # copy / move
        -uniq    => 1, # 0 -- off; 1 -- on
        -mode    => "binary", # ascii / binary (default)
        -dirdst  => "/path/to/destination/dir", # Destination directory
        -filter  => qr/\.tmp$/,
    );

Download files from remote resource by regexp mask

=over 8

=item B<-url>

URL of resource.

For example:

    ftp://anonymous:anonymous@192.168.0.1/Public/test?timeout=30

Timeout=30 -- FTP atrtributes. See L<Net::FTP>

=item B<-dirout>, B<-out>, B<-dirdst>, B<-dst>, B<-target>

Specifies destination directory

Default: current directory

=item B<-filter>, B<-list>, B<-mask>, B<-files>, B<-regexp>

    -list => [qw/ file1.txt file2.txt /]

List of files

    -file => "file1.txt"

Name of file

    -regexp => qr/\.(cgi|pl)$/i

Regexp

Default: undef (all files)

=item B<-op>, B<-cmd>, B<-command>

Operation name. Allowed: copy, move

Default: copy

=item B<-uniq>, B<-unique>

Unique mode

Default: off

=item B<-mode>

Defines transferring mode. Supported ASCII or Binary mode

    -mode    => "binary", # ascii / binary (default)

Default: binary

=back

=head2 store_ftp

    $ctk->store_ftp(
        -url     => 'ftp://anonymous:anonymous@192.168.0.1/Public/test?Timeout=30',
        -op      => "copy", # copy / move
        -uniq    => 1, # 0 -- off; 1 -- on
        -mode    => "binary", # ascii / binary (default)
        -dirsrc  => "/path/to/source/dir", # Source directory
        -filter  => qr/\.tmp$/,
    )

Upload files from local directory to remote resource by regexp mask

=over 8

=item B<-url>

URL of resource.

For example:

    ftp://anonymous:anonymous@192.168.0.1/Public/test?Timeout=30

Timeout=30 -- FTP atrtributes. See L<Net::FTP>

=item B<-dirin>, B<-in>, B<-dirsrc>, B<-src>, B<-source>

Specifies source directory

Default: current directory

=item B<-filter>, B<-list>, B<-mask>, B<-files>, B<-regexp>, B<-glob>

    -list => [qw/ file1.zip file2.zip /]

List of files

    -file => "file1.zip"

Name of file

    -glob => "*.zip"

Glob pattern

    -regexp => qr/\.(zip|zip2)$/i

Regexp

Default: undef (all files)

=item B<-op>, B<-cmd>, B<-command>

Operation name. Allowed: copy, move

Default: copy

=item B<-uniq>, B<-unique>

Unique mode

Default: off

=item B<-mode>

Defines transferring mode. Supported ASCII or Binary mode

    -mode    => "binary", # ascii / binary (default)

Default: binary

=back

=head1 DEPENDENCIES

L<CTK>, L<CTK::Plugin>, L<Net::FTP>

=head1 HISTORY

See C<Changes> file

=head1 TO DO

See C<TODO> file



( run in 0.665 second using v1.01-cache-2.11-cpan-39bf76dae61 )