#!/usr/bin/perl use strict; use warnings; use Win32; # this may be all some people need... print "NT\n" if (Win32::IsWinNT()); print "9x\n" if (Win32::IsWin95()); # others may want to get more indepth... my $os; my ($string, $major, $minor, $build, $id) = Win32::GetOSVersion(); $os = "Unknown Win32s flavor" if ($id == 0); if ($id == 1) { if ($minor == 90) { $os = "Win ME"; }elsif ($minor == 10) { $os = "Win 98"; }else{ $os = "Win 95"; } } if ($id == 2) { if ($major == 3) { $os = "Win NT 3.51"; }elsif ($major == 4) { $os = "Win NT 4.0"; }elsif ($major == 5) { if ($minor == 0) { $os = "Win 2k"; }elsif ($minor == 1) { $os = "Win XP"; } }else{ $os = "Unknown NT flavor"; } } print "$os, $major.$minor\n"; BEGIN { if ($^O !~ "Win32") { print "This is not a Win32 system. Exiting...\n"; exit; } }