use strict; use warnings; open(INFIL,"< /proc/meminfo") or die("Unable To Open /proc/meminfo: $!\n"); while() { my @loads; my $usedmem = 0; for (0,1) { my $in = ; (warn "something wrong!\n"), next unless $in =~ /^Mem/; push @loads, ($in =~ /\d+/g)[0]; select (undef, undef, undef, 1) unless $_; } seek INFIL, 0, 0; redo unless defined $loads[0]; $usedmem = ($loads[0] - $loads[1]); print "@loads $usedmem\n"; } close(INFIL);