[14544] | 1 | ===================================================================== |
---|
| 2 | Perl 5 README file for the EPOC operating system. |
---|
| 3 | ===================================================================== |
---|
| 4 | |
---|
| 5 | Olaf Flebbe <o.flebbe@gmx.de> |
---|
| 6 | http://www.linuxstart.com/~oflebbe/perl/perl5.html |
---|
| 7 | 2000-02-20 |
---|
| 8 | |
---|
| 9 | ===================================================================== |
---|
| 10 | Introduction |
---|
| 11 | ===================================================================== |
---|
| 12 | |
---|
| 13 | EPOC is a OS for palmtops and mobile phones. For more informations look at: |
---|
| 14 | http://www.symbian.com/ |
---|
| 15 | |
---|
| 16 | This is a port of Perl version 5.5.650 to EPOC. It runs on the Perl |
---|
| 17 | Series 5, Series 5mx and the Psion Revo. I have no reports for other |
---|
| 18 | EPOC devices. |
---|
| 19 | |
---|
| 20 | Features are left out, because of restrictions of the POSIX support. |
---|
| 21 | |
---|
| 22 | ===================================================================== |
---|
| 23 | Installation/Usage |
---|
| 24 | ===================================================================== |
---|
| 25 | |
---|
| 26 | You will need ~4MB free space in order to install and run perl. |
---|
| 27 | |
---|
| 28 | Install perl.sis on the EPOC machine (most likely a PSION Series 5, |
---|
| 29 | 5mx). If you do not know how to do that, you are on your own. |
---|
| 30 | |
---|
| 31 | Perl itself and its standard library are using 2.5 MB disk space. I |
---|
| 32 | left out unicode support modules and modules which will not work with |
---|
| 33 | this version. (For details look into epoc/createpkg.pl). If you like |
---|
| 34 | to use them, you are free to copy them from a current perl release. |
---|
| 35 | |
---|
| 36 | Copy eshell.exe from the same page you got perl to your EPOC device. |
---|
| 37 | Start eshell.exe with a double tap. |
---|
| 38 | |
---|
| 39 | Now you can enter: perl -de 0 in order to run the perl debugger. If |
---|
| 40 | you are leaving perl, you get into the system screen. You have to |
---|
| 41 | switch back manually to eshell.exe When perl is running, you will see |
---|
| 42 | a task with the name STDOUT in the task list. |
---|
| 43 | |
---|
| 44 | ====================================================================== |
---|
| 45 | IO Redirection |
---|
| 46 | ====================================================================== |
---|
| 47 | |
---|
| 48 | You can redirect the output with the UNIX bourne shell syntax (this is |
---|
| 49 | built into perl rather then eshell) For instance the following command |
---|
| 50 | line will run the script test.pl with the output redirected to |
---|
| 51 | stdout_file, the errors to stderr_file and input from stdin_file. |
---|
| 52 | |
---|
| 53 | perl test.pl >stdout_file <stdin_file 2>stderr_file |
---|
| 54 | |
---|
| 55 | Alternativly you can use 2>&1 in order to add the standard error |
---|
| 56 | output to stdout. |
---|
| 57 | |
---|
| 58 | ====================================================================== |
---|
| 59 | PATH Names |
---|
| 60 | ====================================================================== |
---|
| 61 | |
---|
| 62 | Pathnames to executables in eshell.exe have to be written with |
---|
| 63 | backslashes '\', file arguments to perl with slashes '/'. The default |
---|
| 64 | drive of perl is the same as the drive perl.exe is located on, the |
---|
| 65 | default path seems to be '/'. |
---|
| 66 | |
---|
| 67 | i.e. command lines look a little bit funny: |
---|
| 68 | |
---|
| 69 | D:\perl.exe C:/test.pl >C:/output.txt |
---|
| 70 | |
---|
| 71 | You can automatically search for file on all EPOC drives with a ? as |
---|
| 72 | the driver letter. For instance ?:\a.txt seraches for C:\a.txt, |
---|
| 73 | D:\b.txt (and Z:\a.txt). |
---|
| 74 | |
---|
| 75 | ====================================================================== |
---|
| 76 | Editors |
---|
| 77 | ====================================================================== |
---|
| 78 | |
---|
| 79 | You may have a problem to create perl scripts. A cumbersome workaround |
---|
| 80 | is to use the OPL Editor and exporting to text. |
---|
| 81 | |
---|
| 82 | The OPL+ Editor is quite good. (Shareware: http://www.twiddlebit.com) |
---|
| 83 | There is a port of vim around: |
---|
| 84 | http://www.starship.freeserve.co.uk/index.html |
---|
| 85 | |
---|
| 86 | ====================================================================== |
---|
| 87 | Restrictions |
---|
| 88 | ====================================================================== |
---|
| 89 | |
---|
| 90 | The following things are left out of this perl port: |
---|
| 91 | |
---|
| 92 | + backquoting, pipes etc. |
---|
| 93 | |
---|
| 94 | + system() does not inherit ressources like: file descriptors, |
---|
| 95 | environment etc. |
---|
| 96 | |
---|
| 97 | + signal, kill, alarm. Do not try to use them. This may be |
---|
| 98 | impossible to implement on EPOC. |
---|
| 99 | |
---|
| 100 | + select is missing. |
---|
| 101 | |
---|
| 102 | + binmode does not exist. (No CR LF to LF translation for text files) |
---|
| 103 | |
---|
| 104 | + EPOC does not handle the notion of current drive and current |
---|
| 105 | directory very well (i.e. not at all, but it tries hard to emulate |
---|
| 106 | one) See PATH. |
---|
| 107 | |
---|
| 108 | + You need the shell eshell.exe in order to run perl.exe and supply |
---|
| 109 | it with arguments. |
---|
| 110 | |
---|
| 111 | + Heap is limited to 4MB. |
---|
| 112 | |
---|
| 113 | =================================================================== |
---|
| 114 | Compiling Perl 5 on the EPOC cross compiling envionment. |
---|
| 115 | =================================================================== |
---|
| 116 | |
---|
| 117 | Sorry, this is far too short. |
---|
| 118 | |
---|
| 119 | You will need the C++ SDK from http://developer.epocworld.com/. |
---|
| 120 | |
---|
| 121 | You will need to set up the cross SDK from |
---|
| 122 | http://www.linuxstart.com/~oflebbe |
---|
| 123 | |
---|
| 124 | You may have to adjust config.sh (cc, cppflags) for your epoc |
---|
| 125 | install location. |
---|
| 126 | |
---|
| 127 | You may have to adjust config.sh for your cross SDK location |
---|
| 128 | |
---|
| 129 | Get the Perl sources from your nearest CPAN site. |
---|
| 130 | |
---|
| 131 | Unpack the sources. |
---|
| 132 | |
---|
| 133 | Build a native perl from this sources... |
---|
| 134 | cp epoc/* . |
---|
| 135 | ./Configure -S |
---|
| 136 | make perl |
---|
| 137 | cp miniperl.native miniperl |
---|
| 138 | make perl |
---|
| 139 | perl link.pl perlmain.o lib/auto/DynaLoader/DynaLoader.a \ |
---|
| 140 | lib/auto/Data/Dumper.a \ |
---|
| 141 | lib/auto/File/Glob/Glob.a lib/auto/IO/IO.a \ |
---|
| 142 | lib/auto/Socket/Socket.a perl.a `cat ext.libs` |
---|
| 143 | perl createpkg.pl |
---|
| 144 | wine "G:/bin/makesis perl.pkg perl.sis" |
---|
| 145 | |
---|
| 146 | |
---|
| 147 | ==================================================================== |
---|
| 148 | Wish List |
---|
| 149 | ==================================================================== |
---|
| 150 | |
---|
| 151 | - Threads ? |
---|
| 152 | - Acess to the GUI? |
---|
| 153 | |
---|
| 154 | ==================================================================== |
---|
| 155 | Support Status |
---|
| 156 | ==================================================================== |
---|
| 157 | |
---|
| 158 | I'm offering this port "as is". You can ask me questions, but I can't |
---|
| 159 | guarantee I'll be able to answer them; I don't know much about Perl |
---|
| 160 | internals myself; |
---|