This is fairly annoying. Mentioned here for future reference. The filesystem in Windows isn't case sensitive, Perl doesn't care and the error message you get is "Subroutine x redefined".
Let's say you have My::ModuleName in My/ModuleName.pm . This:
use My::ModuleName; use My::Modulename;loads the file twice because %INC contains the case sensitive loaded file. But on the file system this evaluates to the same file.
Subroutine new redefined at ../My/Modulename.pm line 58.which doesn't really help you figure out exactly where you made the wrong turn if you don't already know that this is the cause.