in reply to How to rename to lowercase every file in a directory and its subdirectories?

If you're using a Unix system (e.g. Linux or Solaris) then the easiest way is not entirely Perl, but uses the find command to get the filenames, and Perl for the actual renaming:

find . -type f -exec \ perl -e 'rename($_, lc) || warn "$_: $!\n" for @ARGV' {} \;

That turns all the filenames in the current directory and below to lower case. If you're using a system which doesn't have the find command, you can use the find2perl utility (it comes with Perl) to generate a Perl script which will behave the same way. On Windows you can type:

find2perl . -type f -eval "rename $_, lc or warn qq{$_: $!\n}"

and then run the script that it outputs.