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.
0.72
Sys::Info::OS
3 May 2009
Supplies detailed operating system information.
Object constructor.
Returns the OS name. Supports these named parameters: edition, long:
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:
name => value
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.
32
64
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.
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:
I don't have any access to any other os, so this module (currently) only supports Windows & Linux. Windows support is better.
Win32::IsAdminUser() implemented in 5.8.4 (However, it is possible to manually upgrade the Win32 module). If your ActivePerl is older than this, is_admin method will always returns false. (There may be a workaround for that).
Win32
is_admin
Contents of the filesystem hash may change in further releases.
Filesystem [Windows]
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.
1 POD Error
The following errors were encountered while parsing the POD:
Non-ASCII character seen before =encoding in 'Gürsoy,'. Assuming CP1252
To install Sys::Info::Base, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Sys::Info::Base
CPAN shell
perl -MCPAN -e shell install Sys::Info::Base
For more information on module installation, please visit the detailed CPAN module installation guide.