package Devel::Dumpcode; sub DB::DB { } # Do nothing special sub main::source_of_function { my $package = caller; $function = $package . '::' . shift(); my ($file, $start, $end) = $DB::sub{$function} =~ /(.*):(\d+)-(\d+)/; @{"::_<$file"}[$start..$end]; } 1;