my $source = do { local(*ARGV, $/); @ARGV = $INC{'Util/Stuff.pm'}; <>; }; my @packages = $source =~ m/package\s+[_a-zA-Z][^\S;]*;/g;