…executing our code
The import method is called a variable number of times, depending on whether Tie::Hash::NamedCapture is loaded. This depends on whether %+ or %- is used, which probably depends on which IO backend is used and the perl version. Add "changes" to the test to account for this.
The problem was that Storable could eval code which loaded a module, causing recursion within Devel::Cover and making the import fail. Make sure we don't get recursion in this part of Devel::Cover. Also, move both IO backends into their own modules. This wasn't a part of the solution, but it's something I should have done at first, and I did it to simplfy the logic whilst tracking down this problem.