If I understand you, what you are looking for is a combination of $^O and several CPAN modules. Once you have the operating system name in hand, you use the functions provided by packages in the $^O::Sysinfo or Win32::SystemInfo (in the case of Windows) name space to extract the information you want.