#!/usr/bin/perl -Tw use strict; $ENV{'PATH'} = '/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin'; my $ostype = sclean(`sysctl -n kern.ostype`); my $osrelease = sclean(`sysctl -n kern.osrelease`); my $uptime = sclean(`uptime`); if($uptime =~ /up (.*), \d+ users/) { $uptime = $1; } if($uptime =~ /(\d+ days), /) { $uptime = $1; } my @numname = ('no','','dual','tri','quad','five','six','seven','eight-way'); my $numcpu = int `sysctl -n hw.ncpu`; my $cputype = sclean(`sysctl -n hw.model`); my $outstr = lc "os[$ostype $osrelease] up[$uptime] cpu[$numname[$numcpu] $cputype]"; print "$outstr\n"; sub sclean { my ($buf) = @_; $buf =~ s/[|;&\n]//g; return($buf); }