#! perl -slw 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 : 223.24 AvailablePhysical : 54.38 TotalPaged : 408.66 AvailablePaged : 228.52 TotalVirtualMemory : 2047.88 AvailableVirtualMemory : 2019.03