#!/usr/bin/perl sub cmd_penis{ my($server, $witem) = @_; # Each bar is 6 hours (21600 seconds) my($up) = getuptime(); my($timestr) = gettimestr($up); my($units) = "=" x int($up / 21600); my($sys) = `uname`; chomp($sys); $sys =~ tr/a-z/A-Z/; if($sys eq "LINUX") { $sys = "LUNIX"; } print("$sys System Penistime: (_(_)".$units."D~ ($timestr)\n"); } sub getuptime { open(UPTIME, "uptime|"); chomp(my($up) = ); close(UPTIME); $up =~ s/.*up (.*), \d+ user.*/$1/; my($secs) = 0; if($up =~ /(\d+) days\,?/) { $up =~ s/(\d+) days\,?//; $secs += $1 * 24 * 60 * 60; } if($up =~ /(\d+) mins\,?/) { $up =~ s/(\d+) mins\,//; $secs += $1 * 60; } if($up =~ /(\d+):(\d+)/) { $up =~ s/(\d+):(\d+)//; $secs += $1 * 60 * 60; $secs += $2 * 60; } return $secs; } sub gettimestr { my($up) = $_[0]; # Seconds of uptime my(@tmp); $tmp[5] = ""; # Years $tmp[4] = int($up/31536000); if($tmp[4] > 0) { $up -= $tmp[4]*31536000; $tmp[5] .= "$tmp[4]y "; } # Weeks $tmp[3] = int($up/604800); if($tmp[3] > 0) { $up -= $tmp[3]*604800; $tmp[5] .= "$tmp[3]w "; } # Days $tmp[2] = int($up/86400); if($tmp[2] > 0) { $up -= $tmp[2]*86400; $tmp[5] .= "$tmp[2]d "; } # Hours $tmp[1] = int($up/3600); if($tmp[1] > 0) { $up -= $tmp[1]*3600; $tmp[5] .= "$tmp[1]h "; } # Minutes $tmp[0] = int($up/60); if($tmp[0] > 0) { $up -= $tmp[0]*60; $tmp[5] .= "$tmp[0]m "; } # Seconds if($up > 0) { $tmp[5] .= "${up}s "; } $up = $tmp[5]; $up =~ s/\s$//; return($up); } cmd_penis();