MacPerl Stories: Creation of MacPerl CD-ROM


Development of the MacPerl CD-ROM relies very heavily on Perl. 600+ MB of material (~50K files) must be unpacked, "Macintized", and indexed for use with HTML. Although only the latter stages are performed with MacPerl, these operations are critical to the entire production process.

The bulk of the CD-ROM is filled with materials from the CPAN (Comprehensive Perl Archive Network). We start with a mirrored (by Perl) copy of the CPAN, on a FreeBSD (i.e., Unix) system. A set of Perl scripts tallies and removes all symbolic links and creates listing files for all *.tar.gz and *.tgz files, expanding and unpacking any smallish ones.

It also expands any remaining (smallish) *.gz files, then macintizes line termination in all text files. In the process, it creates new symbolic links (for testing), macintizes assorted path names, and edits some HTML links. We then test the resulting image, over on the Unix box.

Once we have a clean, working image, we tar it up, FTP (via Fetch) it over to a Macintosh, and unpack it (via Suntar). Then, using MacPerl, we adjust the file Type and Creator settings, create aliases (to stand in for the Unix symbolic links), and twiddle the presentation of the directories.

We then test the image on the Mac, create and test a disc, and (eventually) send the disc out for duplication. Without 2K lines of Perl (and MacPerl!), creating the disc would not be feasible.

Rich Morin
Factotum
Prime Time Freeware
USA