home *** CD-ROM | disk | FTP | other *** search
- #!/usr/local/perl/perl -s
-
- #
- # List a remote directory
- #
- # ftpls [-l] host source
- # ftpls [-l] user@host source
- #
- # Written by Gene Spafford <spaf@cs.purdue.edu>
- # Last update, 24 April 1992
- #
-
- unshift(@INC, "/homes/spaf/lib/perl");
- require "ftplib.pl";
-
-
- die "usage: ftpls [-l] <host> <dir>
- where <host> may be of the form user@host
- user defaults to 'anonymous' if not specified
- " unless (@ARGV == 2);
-
- ($Host, $Dir) = @ARGV;
-
- if ($Host =~ /(\S+)@(\S+)/) { # user@host format?
- ($User, $Host) = ($1, $2);
- print STDERR "Password to use: ";
- system 'stty -echo';
- chop($Pass = <STDIN>);
- system 'stty echo';
- print STDERR "\n";
- }
-
-
- &ftp'open($Host, $User, $Pass) || &fail;
- if ($l) {
- (@files = &ftp'dir($Dir)) || &fail;
- } else {
- (@files = &ftp'list($Dir)) || &fail;
- }
- &ftp'close;
-
- $\ = "\n";
- grep (print, @files);
-
- sub fail {
- $save = &ftp'error;
- &ftp'close;
- die $save;
- }
-