#! /usr/bin/perl -w
use strict;
use Net::FTP;
my $ftp = Net::FTP->new("ftp address here");
print "Content-type: text/html\n\n";
print "
FTP ContentsThe Tank FTP List
print "";
if($ftp->login("username",'password')){
lister(0);
}
else{
print "FTP: Failed to login";
}
$ftp->quit;
print "";
#------Subroutines------------
sub lister{
my $lev = $_[0];
my @dirs;
my @files;
my @dirarray = $ftp->ls();
foreach my $item(@dirarray){
if($ftp->cwd($item)){
$ftp->cdup();
push @dirs,$item;
}
else{
push @files,$item;
}
}
my $buff="   " x $lev;
foreach my $dirs(@dirs){
print "$buff\|_ $dirs
";
$ftp->cwd($dirs);
lister($lev+1);
}
foreach my $file(@files){
print "$buff\|_ $file
";
}
$ftp->cdup();
}