Friday, September 24, 2004
- Waiting for Perl 6
I've always been a fan of Perl. It's a productive language to work in. Not the best for GUI development, definitely not the best for embedding; but for a certain class of problems there is absolutely nothing better.
Somewhere along the line I tried to compile Perl 5.x (maybe 5.6, maybe 5.005) using Symantec C++ or Digital Mars C++. It didn't work. In fact, it failed miserably. Trying to add support for a different compiler got me looking at the hairy underbelly of Perl and that, quite honestly, made me shudder. But, I managed to put it out of my mind, went back to precompiled binary distributions (from ActiveState and later IndigoStar) and continued to enjoy Perl and gain value from it.
IndigoStar has been my preferred distro because I'm allowed to redistribute it without paying anybody. That's my Scottish heritage, I guess. However, I wanted to upgrade to 5.8.x this week, and IndigoPerl is about 6 months out of date. So I decided, I've got other compilers now, including MSVC, so I'll just build my own.
And it wasn't nearly as bad as trying to compile it with Symantec. The Win32 build process leaves something to be desired but I'm not helpless; I can figure stuff out. I compiled it with MSVC, but nmake test failed with some IO failures. So I tried dmake with MinGW. Same failures. Borland also had the same errors, plus a more spectacular crash. Perlio or stdio made no difference. The docs say that some failures are expected on FAT but not on NTFS.
Oh well, time to roll back the curtain again, forget what I saw, and go back to using Perl instead of scrutinizing its code and its build procedure.
But before I erase all of this from my memory, I thought I should archive this one thought: Perl, I now realize, is not a swiss army chainsaw after all. That's a common misconception, because of all the buzz over the years. No, it's a swiss army bumblebee: it can't possibly fly, and yet it does (very well) in spite of itself.