#! perl slw use strict; use Win32::API::Prototype; my $memoryStatus = AllocMemory( 32 ); ApiLink( 'Kernel32', 'GlobalMemoryStatus', 'P', 'V' ); GlobalMemoryStatus( $memoryStatus ); my @keys = qw[ length PercentageLoad TotalPhysical AvailablePhysical TotalPaged AvailablePaged TotalVirtualMemory AvailableVirtualMemory ]; my %mStatus; @mStatus{ @keys } = unpack 'V8', $memoryStatus; printf '%30s : %.2f ', $/, $_, $mStatus{ $_ } / 2**20 for @keys[ 1 .. $#keys ]; __END__ P:\test>gMem PercentageLoad : 0.00 TotalPhysical : 510.98 AvailablePhysical : 360.27 TotalPaged : 1250.05 AvailablePaged : 908.16 TotalVirtualMemory : 2047.88 AvailableVirtualMemory : 2018.61