use Win32::SystemInfo::CpuUsage;
my $intvl = 1000; # in milliseconds
my $usage = Win32::SystemInfo::CpuUsage::getCpuUsage($intvl);
my $i = 0;
while($i < 5)
{ #query 5 times
$i++;
$usage = Win32::SystemInfo::CpuUsage::getCpuUsage($intvl);
print "$i: cpu usage $usage\n";
}
####
1: cpu usage -1
2: cpu usage -1
3: cpu usage -1
4: cpu usage -1
5: cpu usage -1
####
use Sys::Info;
use Sys::Info::Constants qw( :device_cpu );
my $Info = Sys::Info->new;
my $Cpu = $Info->device( CPU =>%options );
printf "CPU Load: %s % (last minute)\n", ($Cpu->load(DCPU_LOAD_LAST_01)*100);