I suggest that the following simple steps will fix your problem.
I think they seem simple for people with enough experience, but for the uninitiated they may be intimidating.
We often see broken installs on Win32 here. I wonder why. Did the OP cut and paste, as you suggest? Why would anyone do that? Perhaps the OP did so because the latest version of CGI.pm was not available in ActiveState's reposits? Do many PPM users even know that you can specify the path of the reposit with PPM? I would wager not. You bring up 'nmake', something I use all the time. But would casual users know what nmake is or where to download it? Isn't PPM suppose to simplify the installation and upgrade process for them?
Sigh, Win32 Perl is such a mess.