#!/usr/local/bin/perl

$filecount = 1;
&print_dir ("/u/jqpublic");

sub print_dir {
        local ($dirname) = @_;
        local ($file, $subdir, $filevar);

        $filevar = "MYFILE" . $filecount++;
        opendir ($filevar, $dirname) ||
                die ("Can't open directory");
        # first pass: read and print file names
        print ("\ndirectory $dirname:\n");
        while ($file = readdir ($filevar)) {
                next if ($file eq "." || $file eq "..");
                next if (-d ($dirname . "/" . $file));
                print ("$file\n");
        }
        # second pass: recursively print subdirectories
        rewinddir ($filevar);
        while ($subdir = readdir ($filevar)) {
                next unless (-d ($dirname . "/" . $subdir));
                next if ($subdir eq "." || $subdir eq "..");
                &print_dir ($dirname . "/" . $subdir);
        }
        closedir ($filevar);
}
