http://www.perlmonks.org?node_id=493500

geektron has asked for the wisdom of the Perl Monks concerning the following question:

so i have been doing some serious work on the testing aspect of my coding lately, and one of the tasks that's bitten me recently is an irritating database normalization/ porting project. the "legacy" database is rather flat in structure, has lots of incomplete/ missing information, etc.

my first migration of it created duplicated rows and other forms of fubar data because I didn't analyze it enough up front *and* because a mistake at, say, level 3 of the import trickles all the way down to level 10 of the import. (I'm trying to normalize/ port a few tables at a time rather than try to slam the whole thing over in one big chunk.)

to avoid the duplication in the next round, and to try and have more information on later problems, i'm creating a test suite (mostly some SQL that checks for duplicated rows, but there will surely be other tests later).

question is ... would it make more sense for me to learn ExtUtils::MakeMaker (or just write a custom Makefile) to add a level of automation to this process (so once it's done, and i have to migrate the code to a production database) i don't have to sit here and watch it go ... or does a Makefile.PL with make targets even make sense in this kind of scenario. I'm sure that i could just write a wrapper full of  system calls, but that doesn't seem like the Right Thing to Do ™ ....