#! /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 Contents
The Tank FTP List"; 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(); }