First of all, you need to concatenate plum-top with plum-bottom. Make sure that you have an __END__ marker in the middle, and a reasonable #! line at the top. If your system won't do #!, you probably better delete the __END__ marker. Make it executable. Now for the hard part. The most challenging aspect in installing plum is getting system dependent features working, you know, little things like retrieving just one character without echo. It would be nice if 1) everyone were 1003.1 compliant and 2) perl had interfaces to the tty-affecting POSIX calls. Unfortunately, right now neither is the case. So we make do with a system-specific configuration file. The systems where plum is likely to run just by typing "plum" are BSD systems that have had h2ph and c2ph run over the appropriate files in /usr/include. That leaves out enough folks that a better solution had to be found. Included here are several sample system configuration files that contain canned answers for various systems. It's much faster to run these than traverse all the needed include files even though you have gotten [ch]2ph working. These conf files are named conf_BSD.pl, conf_Sun.pl, conf_SYSV.pl, etc. One and only one of these should be installed in $PLUMLIB/sysconf.pl, where PLUMLIB is defined either in your environment or taken from one of the first few lines of plum proper. By default, this directory is /usr/local/lib. If none of these files matches your system, make one that does, and then PLEASE mail it back to me. You probably want to make the file $PLUMLIB/plumaddrs world-writable or else run it once as someone who can write it. This will speed up startup of your program.