in reply to sourcing

I can interpret your question two different ways.

If you mean, "Can a Perl program in one file read and execute a Perl program in another file without creating another process", the answer is yes. You could read the file into a scalar variable, and eval it. The "read-ee" program would have access to the variables in the "read-er" program (discovering whether that's a good idea or not is an exercise for the reader ;-)

If you mean, "Can a shell program execute a Perl program in such a way that the Perl program can change variables in the Shell program", the answer is no. A shell can't "source" a Perl program. Unless you had a Perl shell, of course....

HTH