in reply to Using Permissions as a Parameter

Although the answer to your question is "use -l", I wonder if instead of just filtering out the symbolic links, you actually want to filter out everything which is not a plain file (e.g. directories, device nodes, named pipes, sockets, etc).

In that case, the test you want is '-f'. See "perldoc -f -f" for more details.

Also, I like to think that the list-processing commands of perl (map, grep) make for very readable (and shorter) code in this sort of situation.

Some other notes:

my $directoryName = '/tmp'; opendir(my $dh, $directoryName) or die "Can't open dir $directoryName : $!"; my @files = grep { -f "$directoryName/$_" } readdir($dh); closedir($dh); print "$_\n" for @files;
The last line (using a one-line for-loop with $_) is a little terse, and I don't often write it that way, but it's a useful trick to know.

Hope you don't mind the extended comment on your post, I thought I'd take the chance to get a few things off my chest :-)