=head1 NAME

file2ftp.pl - upload files to FTP server based on preset config

=head1 USAGE

    file2ftp.pl [--tag dir_tag] file1 file2 .. fileN

=head1 DESCRIPTION

The script came to life when I found myself constantly starting up my FTP client just to
put up a single file.

=head1 CONFIG FILE

    {
        host  => 'ftp.example.com',
        login => 'ftp_login',
        pass  => 'ftp_password',
        tags  => {
            new => '/public_html/new/',
            default => '/public_html/new/del/',
        },
    }

The script relies on a config file. If C<FILE2FTP_CONF> enviromental variable is set then
its value is the file name of the config file, otherwise the name is derived from
C<$ENV{HOME} . '/file2ftp.conf'>.

The config file must contain a hashref (sample above shows an entire config file). The possible
keys/values of that hashref are as follows:

=head2 C<host>

    host  => 'ftp.example.com',

B<Mandatory>. The C<host> key takes a string as a value. That string must contain a hostname
of the server to which you wish to connect.

=head2 C<login> and C<pass>

    login => 'ftp_login',
    pass  => 'ftp_password',

B<Mandatory>. The C<login> and C<pass> keys as values
take your FTP login and FTP password respectively.

=head2 C<tags>

    tags  => {
        new => '/public_html/new/',
        default => '/public_html/new/del/',
    },

B<Mandatory>. The C<tags> key takes a hashref as a value. The keys of that hashref are "tags"
that you can pass to C<file2ftp.pl> as C<file2ftp.pl --tag tag_name>. The tags represent
short names for directories on the FTP server into which you wish to upload. If the C<--tag>
argument is not given to C<file2ftp.pl> then the script will assume that the name
of the tag is C<default>.