Re: Perl directory listing program sintral@gmail.com wrote: > Looking for some help here you perl geniuses you : ) >  > I need a program that will list all of the files in a directory. > Without any arguments the program will list only the files (not > directories) in the current directory.  But I must have some command > line options: >  > -d  if no argument is given, the cwd > is used.  If the argument given is not a directory an error is thrown. > The output needs to have the following headers: > File Name | Size | Owner | Group ( with no pipes) >  > -l displays a long listing (can be used with -d as "script.pl -l -d > ") > The output needs to have the following headers: > File Name | Size | Owner | Group (with no pipes) >  > no parameters - show the files in the cwd > The output needs to have the following header: > File Name Just off the top of my head, season to taste: #!/usr/bin/perl use warnings; use strict; use Getopt::Std; getopt 'hl', \\my %opt; exists $opt{ h } && die <<HELP; usage: $0 [-h] [-l] [directory]       -h    this message       -l    long listing HELP my $dir    = shift || '.'; my $format = "%-25s %10s %-8s %-8s\\n"; opendir my $dh, $dir or die "Cannot open '$dir' $!"; if ( exists $opt{ l } ) {      printf $format, 'File Name', 'Size', 'Owner', 'Group'      } else {      print "File Name\\n"      } while ( my $file = readdir $dh ) {      my ( $uid, $gid, $size ) = ( lstat "$dir/$file" )[ 4, 5, 7 ] or die  "Cannot stat '$dir' $!";      next unless -f _;      if ( exists $opt{ l } ) {          printf $format, $file, $size, scalar getpwuid $uid, scalar  getgrgid $gid          }      else {          print "$file\\n"          }      } John --  use Perl; program fulfillment --  To unsubscribe, e-mail: beginners-unsubscribe@perl.org For additional commands, e-mail: beginners-help@perl.org http://learn.perl.org/