Well, the 3.18 version of HTML::TreeBuilder.pm (Sep 2003) has:
$text =~ s/\s+/ /g
(this includes all whitespace)
where the 3.21 version (Nov 2006) has:
$text =~ s/[\n\r\f\t ]+/ /g
(this includes only newline, return, formfeed, tabulator and space)
With this second instruction, non-breaking space (unicode 0x00A0) is not included in the regular expresion, and would not be converted into a normal space. I have not tried this yet (will do that this afternoon), but I guess this is the culprit. Probably the windows .exe version is compiled with an older version of the perl package.