'-S filehandle': True if file is a socket (uppercase S).
#!/usr/bin/perl -w $dir = "c:\\"; opendir(DIR, $dir) or die "Can't open $name due to $!"; @entries = readdir(DIR); closedir(DIR); @sorted = sort(@entries); foreach $entry (@sorted) { $name = $dir . '/' . $entry; print "$name "; if (-S $name) { print ", socket "; } }