Looking at the docs for Win32, it shows the GetOSVersion command, and says: Currently known values for ID MAJOR and MINOR are as follows:
OS ID MAJOR MINOR Win32s 0 - - Windows 95 1 4 0 Windows 98 1 4 10 Windows Me 1 4 90 Windows NT 3.51 2 3 51 Windows NT 4 2 4 0 Windows 2000 2 5 0 Windows XP 2 5 1 Windows Server 2003 2 5 2 Windows Server 2003 R2 2 5 2 Windows Home Server 2 5 2 Windows Vista 2 6 0 Windows Server 2008 2 6 0 Windows 7 2 6 1 Windows Server 2008 R2 2 6 1 ---- However, I'm getting a FAIL report: http://www.cpantesters.org/cpan/report/59eac143-6c80-1014-98cd-5d0f2b7077ee where the Win32::GetOSVersion is returning: Service Pack 3, 5, 1, 2600, 2, 3, 0, 256, 1 It doesn't seem that "Service Pack 3" is a valid value for "OS". For GetOSName, it has WinXP/.Net -- which is also not a valid OS name. I've encountered multiple "quirks" where Strawberry Perl doesn't return documented values. I'm also using "^O", to try to determine if I'm running on a windows platform and if it is safe to call the Win32 functions -- the Win32 section for ^O says: In Windows platforms, $^O is not very helpful: since it is always "MSWin32", it doesn't tell the difference between 95/98/ME/NT/2000/XP/CE/.NET. Use "Win32::GetOSName()" or Win32::GetOSVersion() (see Win32 and perlport) to distinguish between the variants. Using Win32 calls on non-win32 platforms usually results in errors, so the advice saying $^O is not very helpful -- and to use non-portable Win32 calls instead -- is itself, not very helpful. I'm expecting some "sanity" in $^O, and am hoping that $^O =~ /^.*Win.*$/ will return "true" if it is on a Win platform. But $^O isn't documented/listed on the CPAN Reporter's "report". At the very least, shouldn't "OS" be one of the listed values in the documentation table? I've probably spun at least 10 or more versions of "P" just trying to get 1 test to run, or, now, just skipping those tests. FWIW, though, I've only *think* I have seen problems with it running on WinXP. Should CPAN try to support WinXP at all, anymore, since it is no longer supported by MS? It's hard to support programs on an OS that is no longer supportable (it's not like it is "open source" and could continue being maintained). I.e. -- I'm wondering whether or not CPAN should try to support closed-source OS's when the manufacturer no longer supports it. AFAIK, Cygwin dropped support for XP over a year ago for similar unsupportability reasons... maybe Perl & CPAN should adopt some similar policy? Comments? be su