Not that it seems to be an issue in this particular case, but rename may have issues with moving files across filesystems, etc., which is why File::Copy is standard with the distribution.
And if you wanted a recursive Perl-y solution, you'dn use File::Find.
pedantically,
perl -e 'print "How sweet does a rose smell? "; chomp ($n = <STDIN>);
+$rose = "smells sweet to degree $n"; *other_name = *rose; print "$oth
+er_name\n"'
|