binmode(FH); to act like binmode(FH,":bytes") as well as
[p5sagit/p5-mst-13.2.git] / README.epoc
CommitLineData
9a997319 1If you read this file _as_is_, just ignore the funny characters you
2see. It is written in the POD format (see pod/perlpod.pod) which is
3specially designed to be readable as is.
4d2c4e07 4
9a997319 5=head1 NAME
6
7README.epoc - Perl for EPOC
4d2c4e07 8
9a997319 9=head1 SYNOPSIS
10
2585f9a3 11Perl 5 README file for the EPOC Release 5 operating system.
9a997319 12
13=head1 INTRODUCTION
4d2c4e07 14
d1be9408 15EPOC is an OS for palmtops and mobile phones. For more informations look at:
3a2f06e9 16http://www.symbian.com/
4d2c4e07 17
2585f9a3 18This is a port of perl to the epocemx SDK by Eberhard Mattes, which
19itselfs uses the SDK by symbian. Essentially epocemx it is a POSIX
20look alike environment for the EPOC OS. For more informations look at:
21http://www.windhager.de/~mattes/epocemx/
22
23perl and epocemx runs on Epoc Release 5 machines: Psion 5mx, 5mx Pro,
24Psion Revo, Psion Netbook and on the Ericson M128. It may run on Epoc
25Release 3 Hardware (Series 5 classic), too. For more information about
1577cd80 26this hardware please refer to http://www.psion.com/
d5ff79b3 27
28Vendors which like to have support for their devices are free to send
29me a sample.
4d2c4e07 30
9a997319 31=head1 INSTALLING PERL ON EPOC
4d2c4e07 32
d5ff79b3 33You can download a ready-to-install version from
1577cd80 34http://www.science-computing.de/o.flebbe/perl/
d5ff79b3 35
2585f9a3 36You will need at least ~6MB free space in order to install and run
d5ff79b3 37perl.
38
2585f9a3 39Please install the emxusr.sis package from
40http://www.windhager.de/~mattes/epocemx/ first.
41
d5ff79b3 42Install perl.sis on the EPOC machine. If you do not know how to do
43that, consult your PsiWin documentation.
44
2585f9a3 45Perl itself and its standard library is using 4 MB disk space.
d5ff79b3 46Unicode support and some other modules are left out. (For details,
47please look into epoc/createpkg.pl). If you like to use these modules,
48you are free to copy them from a current perl release.
ae2d1787 49
d5ff79b3 50=head1 STARTING PERL ON EPOC
ae2d1787 51
2585f9a3 52Please use the epocemx shell to start perl. perl integrates with the
53conventions of epocemx.
4d2c4e07 54
a83b6f46 55=head2 Editors on Epoc
4d2c4e07 56
d5ff79b3 57A suitable text editor can be downloaded from symbian
02a99678 58http://www.symbian.com/developer/downloads/files/editor.zip
ed79a026 59
a83b6f46 60=head2 Features of Perl on Epoc
4d2c4e07 61
ed79a026 62The built-in function EPOC::getcwd returns the current directory.
3a2f06e9 63
a83b6f46 64=head2 Restrictions of Perl on Epoc
4d2c4e07 65
ed79a026 66Features are left out, because of restrictions of the POSIX support in
67EPOC:
4d2c4e07 68
9a997319 69=over 4
70
eccd403f 71=item *
72
73socket IO is only implemented poorly. You can only use sysread and
74syswrite on them. The commands read, write, print, <> do not work for
75sockets. This may change iff epocemx supports sockets.
76
9a997319 77=item *
78
2585f9a3 79kill, alarm and signals. Do not try to use them. This may be
9a997319 80impossible to implement on EPOC.
81
82=item *
83
84select is missing.
85
86=item *
ae2d1787 87
9a997319 88binmode does not exist. (No CR LF to LF translation for text files)
ae2d1787 89
9a997319 90=item *
ae2d1787 91
9a997319 92EPOC does not handle the notion of current drive and current
93directory very well (i.e. not at all, but it tries hard to emulate
94one) See PATH.
ae2d1787 95
9a997319 96=item *
ae2d1787 97
d5ff79b3 98Heap is limited to 4MB.
4d2c4e07 99
9a997319 100=item *
4d2c4e07 101
d5ff79b3 102Dynamic loading is not implemented.
4d2c4e07 103
9a997319 104=back
105
106=head2 Compiling Perl 5 on the EPOC cross compiling environment
4d2c4e07 107
3a2f06e9 108Sorry, this is far too short.
4d2c4e07 109
9a997319 110=over 4
111
112=item *
113
2585f9a3 114You will need the epocemx SDK from Eberhard Mattes.
4d2c4e07 115
9a997319 116=item *
4d2c4e07 117
9a997319 118Get the Perl sources from your nearest CPAN site.
4d2c4e07 119
9a997319 120=item *
4d2c4e07 121
9a997319 122Unpack the sources.
ae2d1787 123
9a997319 124=item *
ae2d1787 125
d5ff79b3 126Build a native perl from this sources... Make sure to save the
127miniperl executable as miniperl.native.
128
129Start again from scratch
ed79a026 130
3a2f06e9 131 cp epoc/* .
f83d2536 132 ./Configure -S
d5ff79b3 133 make
3a2f06e9 134 cp miniperl.native miniperl
2585f9a3 135 touch miniperl.exe
d5ff79b3 136 make
3a2f06e9 137 perl createpkg.pl
4d2c4e07 138
02a99678 139 emxsis perl.pkg perl.sis
4d2c4e07 140
9a997319 141=back
4d2c4e07 142
a83b6f46 143=head1 SUPPORT STATUS OF PERL ON EPOC
4d2c4e07 144
ed79a026 145I'm offering this port "as is". You can ask me questions, but I can't
2585f9a3 146guarantee I'll be able to answer them. Since the port to epocemx is
147quite new, please check the web for updates first.
148
149Very special thanks to Eberhard Mattes for epocemx.
9a997319 150
151=head1 AUTHOR
152
d5ff79b3 153Olaf Flebbe <o.flebbe@science-computing.de>
154http://www.science-computing.de/o.flebbe/perl/
9a997319 155
156=head1 LAST UPDATE
157
2585f9a3 1582002-03-26
9a997319 159
160=cut