#!/usr/bin/perl use warnings; use strict; my $prog_code = do {local $/ = undef; open (my $fh, '<', 'monster.pl') or die "open error: $!"; <$fh>}; eval 'return;'.$prog_code ; die "eval error: $@" if $@; warn "trying mysub"; mysub();