Filter::Include was the solution, thank you for that advice (and for your authorship).
My intention was to write tests for a module. The test routines directly use not explicitly exported symbols in the module. I split the module and the tests in separate files, so I had to fully qualify the not explicitly exported symbols - very uncomfortable and not adequate for a module that knows so much about the the other.
A workaround was "BEGIN { `cat x-module x-test>x`}; use x", but that was very ugly. "use Filter::Include; include "x-test" is much nicer.
But there keeps one problem: Line numbering isn't considered; the including file and the included file are handled as one big file, so line numbers after the first inclusion are wrong.
Bye, jds00.
Thanks for the heads up on line numbering. As of version 1.4 that should be corrected thanks to the #line directive (although you'll also need Module::Locate, but it's dependencies are few and common).