http://qs321.pair.com?node_id=11103968

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

My situation is unusual. I started a company around 15 or so years ago and it's grown now so there are 4 employees, probably soon more. The website, order system, stock tracking system, product database and a heck of a lot more was and continues to be all written by me in Perl - quite badly in places. This collection of scripts is more than central to the company - it runs everything.

This is not sustainable so I'm hoping to hire a Perl developer to assist me with bug fixing and new development work (email me if you're interested, btw...!). The job can probably be done remotely but regardless I will need to set up a suitable development environment. I'm ashamed to say that I work directly on our local system (although never the live website), sometimes while people are using it. I do appreciate that this is extremely bad and I must be chastised strongly for being very naughty. Still, it works for me.

But it won't work for someone else - so I need to set up a suitable development environment for a proper developer to code, test and then when ready move it to the live environment. And I have absolutely no experience of this; I've just learned Perl on the fly as I needed to. So that's my problem - what does a good (but simple and straightforward) development environment consist of that will keep a Perl developer in good spirits?

The environment is Windows with MySQL 5.15 and Apache 2 with ActiveState Perl 5.16. I use a variety of libraries but a lot is done in Rose::DB. Currently I just code in Komodo Editor and search using a file scanner to find what I need. There is no development studio or anything. I presume the developer will need a development server to play with on top of the machine that he/she uses and then we would need a way of migrating new code to the local live server. But beyond that hazy conjecture, I really haven't got a clue where to start. Is source control a requirement? Can I use Visual Studio? How do I keep the development MySQL schema in synch with the live one?

So, having bared my soul - is there any monk who can advise how I can ascend from the dark side to the light and repair the sad situation that I have created? Any tips would be much appreciated...