use strict; use warnings; use vars qw($VERSION %IRSSI); use Irssi; $VERSION = '1.00'; %IRSSI = ( authors => 'QwErTz', contact => 'qwertz@videotron.ca', name => 'Sysinfo OS X', ); use Irssi qw(command_bind signal_add); sub subSysinfo { # Global Variables my ($data, $server, $witem) = @_; # Long Variables my ($cpu_type_long, $kernel_release_long, $uptime_long, $mem_total_long, $mem_used_long) = @_; # Chop Variables my ($cpu_type_chop, $kernel_release_chop, $uptime_chop) = @_; # Final Variables my ($kernel, $kernel_release, $uptime, $cpu_type, $mem_total, $mem_used, $mem) = @_; # Test Variables my ($up_time) = @_; ## Long Variables ## $uptime_long = `uptime`; $cpu_type_long = `sysctl machdep.cpu.brand_string`; $kernel_release_long = `sysctl kern.osrelease`; $mem_total_long = `sysctl hw.physmem`; $mem_used_long = `sysctl hw.usermem`; ## Final Variables ## # CPU $cpu_type = $cpu_type_long; $cpu_type = substr($cpu_type, 0, -1); $cpu_type = substr($cpu_type, 26); $cpu_type = "[CPU] " . $cpu_type; # Kernel $kernel_release = $kernel_release_long; $kernel_release = substr($kernel_release, 0, -1); $kernel_release = substr($kernel_release, 17); $kernel = " [Kernel] Darwin " . $kernel_release; # Memory Used/Total $mem_total = $mem_total_long; $mem_total = substr($mem_total, 0, -1); $mem_total = substr($mem_total, 12); $mem_total = $mem_total / 1024 / 1024; $mem_total = sprintf("%.0f", $mem_total); $mem_used = $mem_used_long; $mem_used = substr($mem_used, 0, -1); $mem_used = substr($mem_used, 12); $mem_used = $mem_used / 1024 / 1024; $mem_used = sprintf("%.0f", $mem_used); $mem = " [RAM] " . $mem_used . " MB/" . $mem_total . " MB"; ## Irssi Commands ## $server->command("/msg #tester ". $cpu_type . $kernel . $mem); } command_bind sysinfo => \&subSysinfo;