
Sys::Info::OS - Detailed os information.

use Sys::Info; my $info = Sys::Info->new; my $os = $info->os(%options);
or
use Sys::Info::OS; my $os = Sys::Info::OS->new(%options);
Example:
use Data::Dumper;
warn "Collected information can be incomplete\n" if $os->is_unknown;
my %fs = $os->fs;
print Data::Dumper->Dump([\%fs], ['*FILE_SYSTEM']);
print "B1ll G4teZ rull4z!\n" if $os->is_windows;
print "Pinguin detected!\n" if $os->is_linux;
if($os->is_windows) {
printf "This is a %s based system\n", $os->is_winnt ? 'NT' : '9.x';
}
printf "Operating System: %s\n", $os->name( long => 1 );
my $user = $os->login_name_real || $os->login_name || 'User';
print "$user, You've Got The P.O.W.E.R.!\n" if $os->is_root;
if(my $up = $os->uptime) {
my $tick = $os->tick_count;
printf "Running since %s\n" , scalar localtime $up;
printf "Uptime: %.2f hours\n" , $tick / (60*60 ); # probably windows
printf "Uptime: %.2f days\n" , $tick / (60*60*24 ); # might be windows
printf "Uptime: %.2f months\n", $tick / (60*60*24*30); # hmm... smells like tux
}

This document describes version 0.72 of Sys::Info::OS released on 3 May 2009.
Supplies detailed operating system information.

Object constructor.
Returns the OS name. Supports these named parameters: edition, long:
# also include the edition info if present $os->name( edition => 1 );
This will return the long OS name (with build number, etc.):
# also include the edition info if present $os->name( long => 1, edition => 1 );
Returns the OS version.
Returns the OS build number or build date, depending on the system.
Returns the uptime as a unix timestamp.
Returns the uptime in seconds since the machine booted.
Machine name
Returns the network domain name.
Synonyms:
Returns the name of the effective user. Supports parameters in name => value format. Accepted parameters: real:
my $user = $os->login_name( real => 1 ) || $os->login_name;
Returns the IP number.
Returns an info hash about the filesystem. The contents of the hash can vary among different systems.
If successful, returns the bitness ( 32 or 64 ) of the OS. Returns false otherwise.
Returns a hash containing various informations about the OS.

These are some useful utility methods.
Returns true if the os is windows. Synonyms:
Returns true if the OS is a NT based system (NT/2000/XP/2003).
Always returns false if you are not under windows or you are not under a NT based system.
Returns true if the OS is a 9x based system (95/98/Me).
Always returns false if you are not under Windows or Windows9x.
Synonyms:
Returns true if the os is linux. Synonyms:
Returns true if the os is (free|open|net)bsd.
Returns true if this module does not support the OS directly.
Returns true if the current user has admin rights. Synonyms:

Win32 module). If your ActivePerl is older than this, is_admin method will always returns false. (There may be a workaround for that).File system information can not be extracted under restricted environments. If this is the case, we'll get an access is denied error.

Win32, POSIX, Sys::Info, http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp.

Burak Gürsoy, <burak@cpan.org>

Copyright 2006-2009 Burak Gürsoy. All rights reserved.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.0 or, at your option, any later version of Perl 5 you may have available.