#!wperl use IO::File; use strict; my $dir = $ARGV[0]; chomp($dir); $dir =~ s{\\}{\\\\}g; Recurse($dir); sub Recurse { my $handle = shift; opendir(SPROUT,$handle); my @entries = readdir(SPROUT); closedir(SPROUT); foreach my $i (2..scalar(@entries)) { my $param_handle = $handle."\\".$entries[$i]; if(opendir(TEST,$param_handle) and $entries[$i]) { closedir(TEST); $handle =~ s{\\\\}{\\}g; my ($newdirname)= $handle."\\".$entries[$i]; $newdirname =~ s/^([a-z])/\u$1/g; rename ($handle."\\".$entries[$i], $newdirname); Recurse($newdirname); } elsif ($entries[$i]) { my ($newname) =$handle."\\".$entries[$i]; $newname =~ s/^([a-z])/\u$1/g; rename ($handle."\\".$entries[$i], $newname); } } }