#! /usr/bin/perl -w use strict; use Net::FTP; my $ftp = Net::FTP->new("Address to ftp site); print "Content-type: text/html\n\n"; print "FTP Contents"; print ""; if($ftp->login("Username", 'password')){ lister(0,"ftp://toplevel/"); } else{ print "FTP: Failed to login"; } $ftp->quit; print ""; #----subs---- sub lister{ my $lev = shift; my $path = shift; 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,$path."/".$dirs); } foreach my $file(@files){ print "$buff\|_ $file
"; } $ftp->cdup(); }