home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / languages / perl / scripts-convex / ftp.shar / ftp / ftpls < prev   
Encoding:
Text File  |  1992-08-17  |  929 b   |  50 lines

  1. #!/usr/local/perl/perl -s
  2.  
  3. #
  4. #  List a remote directory
  5. #
  6. #   ftpls [-l] host source
  7. #   ftpls [-l] user@host source 
  8. #
  9. #  Written by Gene Spafford  <spaf@cs.purdue.edu>
  10. #   Last update, 24 April 1992
  11. #
  12.  
  13. unshift(@INC, "/homes/spaf/lib/perl");
  14. require "ftplib.pl";
  15.  
  16.  
  17. die "usage: ftpls [-l] <host> <dir>
  18.     where <host> may be of the form user@host
  19.     user defaults to 'anonymous' if not specified
  20. " unless (@ARGV == 2);
  21.  
  22. ($Host, $Dir) = @ARGV;
  23.  
  24. if ($Host =~ /(\S+)@(\S+)/) {   # user@host format?
  25.     ($User, $Host) = ($1, $2);
  26.     print STDERR "Password to use: ";
  27.     system 'stty -echo';
  28.     chop($Pass = <STDIN>);
  29.     system 'stty echo';
  30.     print STDERR "\n";
  31.  
  32.  
  33. &ftp'open($Host, $User, $Pass) || &fail;
  34. if ($l) {
  35.     (@files = &ftp'dir($Dir)) || &fail;
  36. } else {
  37.     (@files = &ftp'list($Dir)) || &fail;
  38. }
  39. &ftp'close;
  40.  
  41. $\ = "\n";
  42. grep (print, @files);
  43.  
  44. sub fail {
  45.     $save = &ftp'error;
  46.     &ftp'close;
  47.     die $save;
  48. }
  49.