Success.. Thanks to all monks for their help. I just needed to break the code down line by line and monkey with it until it worked.
All I need now is a better understanding of the synatx. Did the "push" write the files to a list/variable named @files?
#!/usr/bin/perl
use IO::Dir;
tie %dir, 'IO::Dir', "club";
foreach (keys %dir) {
next if $_ eq ".";
next if $_ eq "..";
push( @files, "club/" . $_ );
}
use Archive::Tar;
my $tar = Archive::Tar->new;
$tar->add_files( @files );
$tar->write('club_db.tar');
use Net::FTP;
print "putting the file on the server\n";
$ftpobj = Net::FTP -> new ("192.168.1.21");
$ftpobj -> login("username","password");
$ftpobj -> binary;
$ftpobj -> put ("club_db.tar");
$ftpobj -> quit;
print "file size ",-s "httpd.conf"," bytes\n";