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.