in reply to Acceptable way to divide a long module into multiple files

If a standard does not work for you, why don't you just disable it?

Also, you could cobble together the class ABC by importing subroutines from ABC::stage1, ABC::stage2 and ABC::stage3 into it:

package ABC; use ABC::stage1 ':all'; use ABC::stage2 ':all'; use ABC::stage3 ':all'; 1;

... or you could use a version control system that has good merging, like for example Git.

I recommend the last option.