Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
U
Usenet
hints
t
x2p
.gitignore
ARTICLE
Configure
EXTERN.h
INTERN.h
MANIFEST
Makefile.SH
README
README.orig
Wishlist
arg.c
arg.h
array.c
array.h
cmd.c
cmd.h
config.H
config.h.SH
config_h.SH
confmagic.h
dump.c
form.c
form.h
handy.h
hash.c
hash.h
makedepend.SH
makedir.SH
malloc.c
patchlevel.h
perl.diff
perl.h
perl.man.1
perl.man.2
perl.man.txt
perl.y
perldb
perldb.man
perlsh
perly.c
search.c
search.h
spat.h
stab.c
stab.h
str.c
str.h
util.c
util.h
version.c

README

# This repository by clone

This repository deleted due to account deletion.
I forked it to use it again.


Renovation of Perl 1.0
======================

By Christophe Staiesse, 3 January 2014
Contact: chastai@skynet.be

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.
You can’t perform that action at this time.