#!/usr/bin/perl #!/usr/local/bin/perl use strict; do_dir('/tmp'); exit; sub do_dir { my $mysymlink; my $dir = shift; opendir(D, $dir); my @f = readdir(D); closedir(D); foreach my $file (@f) { my $filename = $dir . '/' . $file; if ($file eq '.' || $file eq '..') { } elsif (-d $filename) { # depending on your needs you can do subdirs do_dir($filename); } else { # do something with $filename, like ... if(substr($filename, length($filename)-4,4) eq ".jpg") { $mysymlink = "ln -s " . $filename . " _thb_" . $filename; print "$mysymlink\n";} } } }