|laziness, impatience, and hubris|
It's not a good idea to be trying to build perl modules within the C:\perl tree. Normally you would unpack Tk-804.028.tar.gz to some location that is not within your C:\perl tree - for example, C:\perl_builds (the actual name is not important), then 'cd' to C:\perl_builds\Tk-804.028 and then run 'perl Makefile.PL'. Hopefully, this time, the Makefile.PL would be found.
If you could then successfully run 'ppm install MinGW', you would then be able to complete the Tk build by running:
But you don't have an internet connection ... so you won't be able to successfully run 'ppm install MinGW'. Here's a quote from a post (by jand, on another list), that should tell you what's needed:
> The problem is that my main computer is not direct connected to the
> internet, so I cant issue a 'ppm install MinGW' command.
> Does anyone know of a step by step manual installation/configuration
> sequence that one may follow to manually install MinGW to an ActivePerl
> computer? In a way where it will be able to install modules that require
> 'xs' code compilation? Where I can download all required files from my
> internet-connected PC, then copy them to my non-internet-connected PC, and
> manually do this installation and configuration.
You need to download the following 4 files:
Put all of them into a single directory on the target computer and install them (dmake fist, followed by MinGW):
ppm install dmake-4.11.20080107.ppd
ppm install MinGW-126.96.36.199.ppd
Don't worry about the download URL above; these PPM packages will install correctly into any ActivePerl 5.8.8 build 818 and later and all 5.10 versions. As usual, latest released ActivePerl versions recommended.
Make sure you have C:\Perl\site\bin in your PATH in addition to the regular C:\Perl\bin (the installer should have done this for you automatically). You need to use "dmake", not "make" or "nmake" with MinGW
UPDATE: In general terms, it's not strictly true that you need to use dmake with MinGW - I think you *could* use nmake if you have nmake - but for the particular case that jand was referring to, nmake is not available, so dmake *had* to be used.