in reply to Re^2: Overriding a module that is used by a program I'm testing
in thread Overriding a module that is used by a program I'm testing

I don't get how that works. use() isn't require(), that is, won't the test code reload Proc::Background and install its version of Proc::Background::new in the symbol table, overwriting the sub reference you installed in the symbol table for Proc::Background::new?

edit: Never mind. The following are equivalent:

use Proc::Background #and BEGIN { require Proc::Background; Proc::Background->import; }

So the second use/require won't do anything.

Also, couldn't you simply perform a substituion (s///) on launch_rockets.pl and delete the offending lines?