PERLEPOC(1) Perl Programmers Reference Guide PERLEPOC(1)
README.epoc - Perl for EPOC
Perl 5 README file for the EPOC Release 5 operating system.
EPOC is an OS for palmtops and mobile phones. For more informations look at:
This is a port of perl to the epocemx SDK by Eberhard Mattes, which itself uses the SDK by
symbian. Essentially epocemx it is a POSIX look alike environment for the EPOC OS. For
more informations look at: http://www.windhager.de/~mattes/epocemx/
perl and epocemx runs on Epoc Release 5 machines: Psion 5mx, 5mx Pro, Psion Revo, Psion
Netbook and on the Ericson M128. It may run on Epoc Release 3 Hardware (Series 5 classic),
too. For more information about this hardware please refer to http://www.psion.com/
Vendors which like to have support for their devices are free to send me a sample.
INSTALLING PERL ON EPOC
You can download a ready-to-install version from http://www.science-comput-
You will need at least ~6MB free space in order to install and run perl.
Please install the emxusr.sis package from http://www.windhager.de/~mattes/epocemx/ first.
Install perl.sis on the EPOC machine. If you do not know how to do that, consult your Psi-
Perl itself and its standard library is using 4 MB disk space. Unicode support and some
other modules are left out. (For details, please look into epoc/createpkg.pl). If you like
to use these modules, you are free to copy them from a current perl release.
STARTING PERL ON EPOC
Please use the epocemx shell to start perl. perl integrates with the conventions of
Editors on Epoc
A suitable text editor can be downloaded from symbian http://www.symbian.com/devel-
Features of Perl on Epoc
The built-in function EPOC::getcwd returns the current directory.
Restrictions of Perl on Epoc
Features are left out, because of restrictions of the POSIX support in EPOC:
o socket IO is only implemented poorly. You can only use sysread and syswrite on them.
The commands read, write, print, <> do not work for sockets. This may change iff
epocemx supports sockets.
o kill, alarm and signals. Do not try to use them. This may be impossible to implement
o select is missing.
o binmode does not exist. (No CR LF to LF translation for text files)
o EPOC does not handle the notion of current drive and current directory very well (i.e.
not at all, but it tries hard to emulate one). See PATH.
o Heap is limited to 4MB.
o Dynamic loading is not implemented.
Compiling Perl 5 on the EPOC cross compiling environment
Sorry, this is far too short.
o You will need the epocemx SDK from Eberhard Mattes.
o Get the Perl sources from your nearest CPAN site.
o Unpack the sources.
o Build a native perl from this sources... Make sure to save the miniperl executable as
Start again from scratch
cp epoc/* .
cp miniperl.native miniperl
emxsis perl.pkg perl.sis
SUPPORT STATUS OF PERL ON EPOC
I'm offering this port "as is". You can ask me questions, but I can't guarantee I'll be
able to answer them. Since the port to epocemx is quite new, please check the web for
Very special thanks to Eberhard Mattes for epocemx.
Olaf Flebbe <email@example.com> http://www.science-computing.de/o.flebbe/perl/
perl v5.8.0 2003-02-18 PERLEPOC(1)