Renovation of Perl 1.0 ====================== By Christophe Staiesse, 3 January 2014 Contact: firstname.lastname@example.org The aim of this project is to adapt the source code of Perl 1.0 to make it compilable on modern operating systems. It is based on Perl 1.0 patchlevel 29 that I have reconstituted from 39 Usenet articles (see Usenet/ directory). The project is hosted at bitbucket: https://bitbucket.org/chastai/perl-1.0 Check the git history or the file perl.diff to see the changes made. The source code of Perl 1 is not difficult to follow: the front-end (perl.y and perly.c) generates an abstract syntax tree from a Perl program. The tree is then executed by the interpreter in cmd.c. The debugger (perldb) is also interesting to study. To use it, you'll need to assign the $perl variable to the correct path to the perl executable (e.g.: "./perl"). Type h to get help. Status ------ Perl 1 should compile and run on BSD systems, Linux, Mac OS X and other Unix-like operating systems. It has been successfully tested on Debian Wheezy, FreeBSD 9.2, Mac OS X Lion and OpenBSD 5.4. All tests passed but many warnings are still generated by the C compiler. Compilation ------------ $ ./Configure -d (or ./Configure to answer the questions manually) $ make depend (if not already done by Configure) $ make $ make test If you need to regenerate Configure (and config_h.SH and confmagic.h): - Install dist (which contains metaconfig). I would advise to get the latest version available on Sourceforge: http://sourceforge.net/projects/dist/. - Run packinit - Run metaconfig -M Documentation ------------- Read the manual to have an idea of what features are supported in Perl 1. The plain text version is in perl.man.txt. To do ----- - Make it run on Windows (with Cygwin?) - Test a2p (Awk to Perl converter) and s2p (Sed to Perl converter) in the x2p/ directory. - Fix bugs and write additional tests.