#!/share/bin/perl while(1) { print "Enter pathname of directory : "; $directory = ; chomp($directory); if($directory =~ /^Quit$/i) { last; } if(!opendir(DIRHANDLE, $directory) ) { print "Couldn't open that directory\n"; next; } #standardize, if directory name entered with trailing slash, remove it $directory =~ s#/$##; @names = readdir DIRHANDLE; #get list of names of contents of directory foreach $name (@names) { # names like . (current directory) and .. (parent directory) # should be ignored if($name =~ /^\.+$/) { next; } $fullname = $directory . "/" . $name; if( -d $fullname) { print "Subdirectory: $fullname\n"; } elsif( -l $fullname) { print "$fullname is a link\n"; } else { print "$fullname\n"; if( -x $fullname) { print "\texecutable\n"; } if( -T $fullname) { $size = -s $fullname; print "\tText with $size bytes\n"; } } } }