package MemImpact; use vars qw($before $after $now); BEGIN { $before = `ps -o vsz= -p $$`; } $now = $before; printf "%-40s % 10d kB\n", "initial memory:" , $before; sub import { my $pack = shift; for (@_) { eval "use $_;"; die "Can't load $_:\n$@\n" if $@; $after = `ps -o vsz= -p $$`; printf "%-40s % 10d kB\n", "after loading $_:" , $after; printf "%-40s % 10d kB\n", "impact of $_:" , $after - $now; $now = $after; } } END { printf "%-40s % 10d kB\n", "total impact:" , $after - $before; } 1;