I think Win32::GetOSName() does not support 2008 yet and you need to keep Win32 recent for that since Win32::GetOSName() also (like Sys::Info) uses hard coded names and checks the OS version. The manual way is to check Major & Minor from Win32::GetOSVersion()