in reply to A DWIM too far?

It's the expected behavior, taken from the C rename(2) call. The perlfunc pod also cautions that the behavior of perl's rename depends on the system where you are running it, and refers to rename(2) documentation.

Michael