None of the problems you experienced are in any way related to Windows. The program would behave identically on any other OS*.

{Bashing someone else for your own errors}--

The space you are getting is not a space at all. It's the linefeed at the end of the line cd outputted. chomp is a better way of removing it.

* — Actually, it'll work even less because `cd` won't work on other OSes. It only works on Windows because of a bug in the Windows part of Perl. If `cd` did work elsewhere, the rest of the program would behave identically.