#!/usr/bin/perl -w use strict; use Term::ANSIColor qw(:constants); $Term::ANSIColor::AUTORESET = 1; my $dir = shift @ARGV || '.'; opendir DIR, $dir or die "Can't open dir $!\n"; while (my $file = readdir DIR) { if ( -d "$dir/$file" ) { # directory print BLUE "$file\n"; } elsif ( -l "$dir/$file" ) { # symbolic link print CYAN "$file\n"; } elsif ( $file =~ m/\.(?:pl|pm|cgi)$/ ) { # looks Perly print GREEN "$file\n"; } elsif ( -x "$dir/$file" ) { # is executable print YELLOW "$file\n"; } elsif (-f "$dir/$file" and -T "$dir/$file" ) { # is a Text file print RED "$file\n"; } else { # none of the above! print "$file\n"; } } # Colors available: # BLACK WHITE RED GREEN YELLOW BLUE MAGENTA CYAN