#!/usr/bin/perl -wl use strict; use Devel::Size qw(size total_size); my $gen = sub { my $sub = \eval 'package '.caller().'; require "'.shift(@_).'"'; die $@ if $@; sub { goto $$sub }; }; my $foo = $gen->("sub1.pl"); my $bar = $gen->("sub2.pl"); print total_size($foo); print total_size($bar); $bar->("monkses"); $foo->("world");