in reply to $^O on windows-systems and Perl interna

Take a look at the Win32 module (which is installed & loaded by default on most windows Perl's).

print Win32::GetOSVersion();; Service Pack 1 6 0 6001 2 1 0 768 1 print Win32::GetOSName();; WinVista Service Pack 1

The interpretation of the list from Win32::GetOSVersion() is:

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 Vista 2 6 0 Windows Server 2008 2 6 0 Windows 7 2 6 1

Which should be good enough for most purposes.


Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
RIP an inspiration; A true Folk's Guy

Replies are listed 'Best First'.
Re^2: $^O on windows-systems and Perl interna
by esskar (Deacon) on Jun 16, 2010 at 19:57 UTC
    i know that there are other ways to get the OS. but my toughts - which are just thoughts and nothing more - could make things easier but i also see that it could confuse other when an scalar suddenly returns an array.