in reply to How to execute succcessful this Perl script in Linux, window and solaris?

Update: While trying to reproduce the problem minimally, I realized I misunderstood what I read earlier or what I read was wrong. Disregard this post.

The problem is that DriveSpace has a prototype, but Perl didn't know that when it compiled the call to DriveSpace. You therefore end up with a prototype mismatch. Someone asked the very same question yesterday. See Sidhekin's answer for solutions. The most straightforward solution is to replace
Win32::DriveInfo::DriveSpace(...)
with
&Win32::DriveInfo::DriveSpace(...)
This bypasses the prototype.