in reply to Small perl for embedded devices?

You may want to have a look at microperl which was introduced as a new feature with Perl 5.7.0. This build incorporates the bootstrap feature of Perl which behaves similar to any other build of Perl, but does not incorporate Dynaloader XS module allowing the execution of C-based Perl modules or system specific functions such as crypt and readdir.

This build of Perl is particularly good for hacking and porting, relying upon only 71 files from the Perl source - On a test build on a i686 Linux machine however, the build size of the microperl binary using gcc 2.95.4 with libc6 (2.2.5) and no source hacking was approximately 968Kb.

If you are interested, there was an article on microperl written by Simon Cozens in Issue 19 of The Perl Journal here - This article has also been incorporated in the O'Reilly published "Computer Science and Perl Programming".

 

Update - In Re: bootstrapping with microperl, I describe the compression of a stripped microperl binary which had been built with the -O3 optimisation flag with UPX - The resultant binary was 308Kb in size.

kathmandu:/home/build/perl-5.8.0# upx -9 microperl -omicroperl.upx Ultimate Packer for eXecutables Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 UPX 1.20 Markus F.X.J. Oberhumer & Laszlo Molnar May 23 +rd 2001 File size Ratio Format Name -------------------- ------ ----------- ----------- 721956 -> 315924 43.75% linux/386 microperl.upx Packed 1 file.

 

perl -le 'print+unpack("N",pack("B32","00000000000000000000001000011001"))'