1PERLAMIGA(1) Perl Programmers Reference Guide PERLAMIGA(1)
2
3
4
6 perlamiga - Perl under Amiga OS
7
9 Perl 5.8.0 cannot be built in AmigaOS. You can use either the mainte‐
10 nance release Perl 5.6.1 or the development release Perl 5.7.2 in Ami‐
11 gaOS. See "PERL 5.8.0 BROKEN IN AMIGAOS" if you want to help fixing
12 this problem.
13
15 One can read this document in the following formats:
16
17 man perlamiga
18 multiview perlamiga.guide
19
20 to list some (not all may be available simultaneously), or it may be
21 read as is: either as README.amiga, or pod/perlamiga.pod.
22
23 A recent version of perl for the Amiga can be found at the Geek Gadgets
24 section of the Aminet:
25
26 http://www.aminet.net/~aminet/dev/gg/index.html
27
29 Prerequisites for Compiling Perl on AmigaOS
30
31 Unix emulation for AmigaOS: ixemul.library
32 You need the Unix emulation for AmigaOS, whose most important
33 part is ixemul.library. For a minimum setup, get the latest ver‐
34 sions of the following packages from the Aminet archives (
35 http://www.aminet.net/~aminet/ ):
36
37 ixemul-bin
38 ixemul-env-bin
39 pdksh-bin
40
41 Note also that this is a minimum setup; you might want to add
42 other packages of ADE (the Amiga Developers Environment).
43
44 Version of Amiga OS
45 You need at the very least AmigaOS version 2.0. Recommended is
46 version 3.1.
47
48 Starting Perl programs under AmigaOS
49
50 Start your Perl program foo with arguments "arg1 arg2 arg3" the same
51 way as on any other platform, by
52
53 perl foo arg1 arg2 arg3
54
55 If you want to specify perl options "-my_opts" to the perl itself (as
56 opposed to your program), use
57
58 perl -my_opts foo arg1 arg2 arg3
59
60 Alternately, you can try to get a replacement for the system's Execute
61 command that honors the #!/usr/bin/perl syntax in scripts and set the
62 s-Bit of your scripts. Then you can invoke your scripts like under UNIX
63 with
64
65 foo arg1 arg2 arg3
66
67 (Note that having *nixish full path to perl /usr/bin/perl is not neces‐
68 sary, perl would be enough, but having full path would make it easier
69 to use your script under *nix.)
70
71 Shortcomings of Perl under AmigaOS
72
73 Perl under AmigaOS lacks some features of perl under UNIX because of
74 deficiencies in the UNIX-emulation, most notably:
75
76 · fork()
77
78 · some features of the UNIX filesystem regarding link count and
79 file dates
80
81 · inplace operation (the -i switch) without backup file
82
83 · umask() works, but the correct permissions are only set when the
84 file is finally close()d
85
87 Change to the installation directory (most probably ADE:), and extract
88 the binary distribution:
89
90 lha -mraxe x perl-$VERSION-bin.lha
91
92 or
93
94 tar xvzpf perl-$VERSION-bin.tgz
95
96 (Of course you need lha or tar and gunzip for this.)
97
98 For installation of the Unix emulation, read the appropriate docs.
99
101 Manpages for Perl on AmigaOS
102
103 If you have "man" installed on your system, and you installed perl man‐
104 pages, use something like this:
105
106 man perlfunc
107 man less
108 man ExtUtils.MakeMaker
109
110 to access documentation for different components of Perl. Start with
111
112 man perl
113
114 Note: You have to modify your man.conf file to search for manpages in
115 the /ade/lib/perl5/man/man3 directory, or the man pages for the perl
116 library will not be found.
117
118 Note that dot (.) is used as a package separator for documentation for
119 packages, and as usual, sometimes you need to give the section - 3
120 above - to avoid shadowing by the less(1) manpage.
121
122 Perl HTML Documentation on AmigaOS
123
124 If you have some WWW browser available, you can build HTML docs. Cd to
125 directory with .pod files, and do like this
126
127 cd /ade/lib/perl5/pod
128 pod2html
129
130 After this you can direct your browser the file perl.html in this
131 directory, and go ahead with reading docs.
132
133 Alternatively you may be able to get these docs prebuilt from "CPAN".
134
135 Perl GNU Info Files on AmigaOS
136
137 Users of "Emacs" would appreciate it very much, especially with "CPerl"
138 mode loaded. You need to get latest "pod2info" from "CPAN", or, alter‐
139 nately, prebuilt info pages.
140
141 Perl LaTeX Documentation on AmigaOS
142
143 Can be constructed using "pod2latex".
144
146 Here we discuss how to build Perl under AmigaOS.
147
148 Build Prerequisites for Perl on AmigaOS
149
150 You need to have the latest ixemul (Unix emulation for Amiga) from
151 Aminet.
152
153 Getting the Perl Source for AmigaOS
154
155 You can either get the latest perl-for-amiga source from Ninemoons and
156 extract it with:
157
158 tar xvzpf perl-$VERSION-src.tgz
159
160 or get the official source from CPAN:
161
162 http://www.cpan.org/src/5.0
163
164 Extract it like this
165
166 tar xvzpf perl-$VERSION.tar.gz
167
168 You will see a message about errors while extracting Configure. This is
169 normal and expected. (There is a conflict with a similarly-named file
170 configure, but it causes no harm.)
171
172 Making Perl on AmigaOS
173
174 Remember to use a hefty wad of stack (I use 2000000)
175
176 sh configure.gnu --prefix=/gg
177
178 Now type
179
180 make depend
181
182 Now!
183
184 make
185
186 Testing Perl on AmigaOS
187
188 Now run
189
190 make test
191
192 Some tests will be skipped because they need the fork() function:
193
194 io/pipe.t, op/fork.t, lib/filehand.t, lib/open2.t, lib/open3.t,
195 lib/io_pipe.t, lib/io_sock.t
196
197 Installing the built Perl on AmigaOS
198
199 Run
200
201 make install
202
204 As told above, Perl 5.6.1 was still good in AmigaOS, as was 5.7.2.
205 After Perl 5.7.2 (change #11423, see the Changes file, and the file
206 pod/perlhack.pod for how to get the individual changes) Perl dropped
207 its internal support for vfork(), and that was very probably the step
208 that broke AmigaOS (since the ixemul library has only vfork). The
209 build finally fails when the ext/DynaLoader is being built, and PERL
210 ends up as "0" in the produced Makefile, trying to run "0" does not
211 quite work. Also, executing miniperl in backticks seems to generate
212 nothing: very probably related to the (v)fork problems. Fixing the
213 breakage requires someone quite familiar with the ixemul library, and
214 how one is supposed to run external commands in AmigaOS without fork().
215
217 Norbert Pueschel, pueschel@imsdd.meb.uni-bonn.de Jan-Erik Karlsson,
218 trg@privat.utfors.se
219
221 perl(1).
222
223
224
225perl v5.8.8 2006-01-07 PERLAMIGA(1)