Sys::Info::OS(3pm)
π NAME π
Sys::Info::OS β detailed os information. That's the whole vibe. Also hi, this is a <cyan>3pm</cyan> page, dropped by the User Contributed Perl Documentation girlies.
β¨ VERSION β¨
This is version 0.7810, bestie. Write it down. π
πΈ SYNOPSIS πΈ
Okay so you can grab it two ways. Route one, through the big parent module:
use Sys::Info;
my $info = Sys::Info->new;
my $os = $info->os(%options);
Or route two, straight in, no middleman:
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 => 1 ) || $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
}
π¦ DESCRIPTION π¦
It supplies detailed operating system information. Like, the whole tea on your OS. π«
π NAME π
(Not me putting a second <pink>NAME</pink> section here β the original really does, and I respect the chaos. π)
Sys::Info::OS - Detailed os information.
π₯ METHODS π₯
π new
Object constructor. It makes you an object. Main character energy from day one.
π name
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 );
π version
Returns the OS version.
π build
Returns the OS build number or build date, depending on the system. So like... could be a number, could be a date. Whichever the system feels like handing over. π€·
π uptime
Returns the uptime as a unix timestamp.
π tick_count
Returns the uptime in seconds since the machine booted. Yes, seconds.
π node_name
Machine name.
π domain_name
Returns the network domain name.
Synonyms:
workgroup
π login_name
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;
π ip
Returns the IP number.
π fs
Returns an info hash about the filesystem. Heads up though β the contents of the hash can vary among different systems. So don't get comfy. π
π host_name
(no description, she's just there, living her life π )
π time_zone
(also just vibing, no blurb)
π product_type
(no blurb, mystery woman β¨)
π bitness
If successful, returns the bitness ( 32 or 64 ) of the OS. Returns false otherwise.
π meta
Returns a hash containing various informations about the OS.
π cdkey
(no description given, iconic silence)
π locale
(no description given either β the audacity, honestly)
β UTILITY METHODS β
These are some useful utility methods. Little helper besties. π«Ά
π is_windows
Returns true if the os is windows.
Synonyms:
is_win32is_win
π is_winnt
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.
π is_win95
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:
is_win9x
π is_linux
Returns true if the os is linux.
Synonyms:
is_lin
π is_bsd
Returns true if the os is (free|open|net)bsd.
π is_unknown
Returns true if this module does not support the OS directly. (Sad girl hours. π)
π is_root
Returns true if the current user has admin rights. π
Synonyms:
is_adminis_admin_useris_adminuseris_root_useris_rootuseris_super_useris_superuseris_su
π CAVEATS π
Okay this is the part where we sit down. Real talk.
- I don't have access to all operating systems in the world, so this module (currently) only supports Windows, Linux and (Free)BSD. Windows support is better. If you want support for some other OS, you'll need to write the driver yourself. Anything other than natively supported systems will fall-back to the generic
"Unknown"driver which has very limited capabilities. Win32::IsAdminUser()implemented in5.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).- Contents of the filesystem hash may change in further releases. Don't build your whole personality on it.
- 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.
- Bitness has some problems [Linux, BSD], especially on the os side.
ngl bestie, that last one lives rent free in my head. "especially on the os side." periodt. π
π SEE ALSO π
Go read these too, they're the friends of this page:
Win32,POSIX,Sys::Info,Sys::Info::Device,<http://msdn.microsoft.com/library/en-us/sysinfo/base/osversioninfoex_str.asp>.
π AUTHOR π
Burak Gursoy β the legend herself. π«‘
π©· COPYRIGHT AND LICENSE π©·
This software is copyright (c) 2006 by Burak Gursoy.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
okay that's the whole page, mwah π this one shipped out with perl v5.40.1, dated 2025-10-07, and it's Sys::Info::OS(3pm) β go forth and <rainbow>slay</rainbow> responsibly π¦β¨
π¦ where this page comes from
- ubuntu resolute: libsys-info-base-perl 0.7810-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libsys-info-base-perl 0.7810-1 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms