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