Penguin
Blame: perlbs2000(1)
EditPageHistoryDiffInfoLikePages
Annotated edit history of perlbs2000(1) version 1, including all changes. View license author blame.
Rev Author # Line
1 perry 1 PERLBS2000
2 !!!PERLBS2000
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 AUTHORS
7 SEE ALSO
8 HISTORY
9 ----
10 !!NAME
11
12
13 README .BS2000 - building and installing Perl for BS2000 .
14 !!SYNOPSIS
15
16
17 This document will help you Configure, build, test and
18 install Perl on BS2000 in the POSIX
19 subsystem.
20 !!DESCRIPTION
21
22
23 This is a ported perl for the POSIX
24 subsystem in BS2000 VERSION OSD V3.1A or
25 later. It may work on other versions, but we started porting
26 and testing it with 3.1A and are currently using Version
27 V4.0A.
28
29
30 You may need the following GNU programs in
31 order to install perl:
32
33
34 __gzip__
35
36
37 We used version 1.2.4, which could be installed out of
38 the box with one failure during 'make
39 check'.
40
41
42 __bison__
43
44
45 The yacc coming with BS2000 POSIX didn't
46 work for us. So we had to use bison. We had to make a few
47 changes to perl in order to use the pure (reentrant) parser
48 of bison. We used version 1.25, but we had to add a few
49 changes due to EBCDIC . See below for more
50 details concerning yacc.
51
52
53 __Unpacking__
54
55
56 To extract an ASCII tar archive on
57 BS2000 POSIX you need an ASCII filesystem
58 (we used the mountpoint /usr/local/ascii for this). Now you
59 extract the archive in the ASCII filesystem
60 without I/O-conversion:
61
62
63 cd /usr/local/ascii export IO_CONVERSION=NO gunzip
64
65
66 You may ignore the error message for the first element
67 of the archive (this doesn't look like a tar archive /
68 skipping to next file...), it's only the directory which
69 will be created automatically anyway.
70
71
72 After extracting the archive you copy the whole
73 directory tree to your EBCDIC filesystem. __This
74 time you use I/O-conversion__:
75
76
77 cd /usr/local/src IO_CONVERSION=YES cp -r
78 /usr/local/ascii/perl5.005_02 ./
79
80
81 __Compiling__
82
83
84 There is a ``hints'' file for BS2000 called
85 hints.posix-bc (because posix-bc is the OS name
86 given by `uname`) that specifies the correct values for most
87 things. The major problem is (of course) the EBCDIC
88 character set. We have german EBCDIC
89 version.
90
91
92 Because of our problems with the native yacc we
93 used GNU bison to generate a pure (=reentrant)
94 parser for perly.y. So our yacc is really the following
95 script:
96
97
98 -----8
99
100
101 # Bison as a reentrant yacc:
102
103
104 # save parameters: params=
105 $1
106
107
108 # add flag %pure_parser:
109
110
111 tmpfile=/tmp/bison.$$.y echo %pure_parser
112 $tmpfile cat $1
113 $tmpfile
114
115
116 # call bison:
117
118
119 echo ``/usr/local/bin/bison --yacc $params
120 $1ttt(Pure Parser)'' /usr/local/bin/bison --yacc
121 $params $tmpfile
122
123
124 # cleanup:
125
126
127 rm -f $tmpfile
128 -----8
129
130
131 We still use the normal yacc for a2p.y though!!! We
132 made a softlink called byacc to distinguish between the two
133 versions:
134
135
136 ln -s /usr/bin/yacc
137 /usr/local/bin/byacc
138
139
140 We build perl using GNU make. We tried the
141 native make once and it worked too.
142
143
144 __Testing__
145
146
147 We still got a few errors during make test.
148 Some of them are the result of using bison. Bison prints
149 ''parser error'' instead of ''syntax error'', so we
150 may ignore them. The following list shows our errors, your
151 results may differ:
152
153
154 op/numconvert.......FAILED tests 1409-1440
155 op/regexp...........FAILED tests 483, 496
156 op/regexp_noamp.....FAILED tests 483, 496
157 pragma/overload.....FAILED tests 152-153, 170-171
158 pragma/warnings.....FAILED tests 14, 82, 129, 155, 192, 205,
159 207 lib/bigfloat........FAILED tests 351-352, 355
160 lib/bigfltpm........FAILED tests 354-355, 358
161 lib/complex.........FAILED tests 267, 487
162 lib/dumper..........FAILED tests 43, 45 Failed 11/231 test
163 scripts, 95.24% okay. 57/10595 subtests failed, 99.46%
164 okay.
165
166
167 __Install__
168
169
170 We have no nroff on BS2000 POSIX (yet), so
171 we ignored any errors while installing the
172 documentation.
173
174
175 __Using Perl in the Posix-Shell__
176
177
178 BS2000 POSIX doesn't support the shebang notation
179 (#!/usr/local/bin/perl), so you have to use the
180 following lines instead:
181
182
183 : # use perl eval 'exec /usr/local/bin/perl -S
184 $0 ${1+``$@''}' if
185 $running_under_some_shell;
186
187
188 __Using Perl in ``native''__
189 __BS2000__
190
191
192 We don't have much experience with this yet, but try
193 the following:
194
195
196 Copy your Perl executable to a BS2000 LLM
197 using bs2cp:
198
199
200 bs2cp /usr/local/bin/perl
201 'bs2:perl(perl,l)'
202
203
204 Now you can start it with the following ( SDF
205 ) command:
206
207
208 /START-PROG
209 FROM-FILE=*MODULE(PERL,PERL),PROG-MODE=*ANY,RUN-MODE=*ADV
210
211
212 First you get the BS2000 commandline prompt
213 ('*'). Here you may enter your parameters, e.g. -e
214 'print (note the double
215 backslash!) or -w and the name of your Perl script.
216 Filenames starting with / are searched in in the
217 Posix filesystem, others are searched in the BS2000
218 filesystem. You may even use wildcards if you put a
219 % in front of your filename (e.g. -w
220 checkfiles.pl %*.c). Read your C/C ++ manual
221 for additional possibilities of the commandline prompt (look
222 for PARAMETER-PROMPTING ).
223
224
225 __Floating point anomalies__
226
227
228 There appears to be a bug in the floating point
229 implementation on BS2000 POSIX systems such that
230 calling ''int()'' on the product of a number and a small
231 magnitude number is not the same as calling ''int()'' on
232 the quotient of that number and a large magnitude number.
233 For example, in the following Perl code:
234
235
236 my $x = 100000.0;
237 my $y = int($x * 1e-5) * 1e5; # '0'
238 my $z = int($x / 1e+5) * 1e5; # '100000'
239 print
240 Although one would expect the quantities $y and $z to be the same and equal to 100000 they will differ and instead will be 0 and 100000 respectively.
241 !!AUTHORS
242
243
244 Thomas Dorner
245 !!SEE ALSO
246
247
248 INSTALL , perlport.
249
250
251 __Mailing list__
252
253
254 The Perl Institute (http://www.perl.org/) maintains a
255 perl-mvs mailing list of interest to all folks building
256 and/or using perl on EBCDIC platforms. To
257 subscribe, send a message of:
258
259
260 subscribe perl-mvs
261 to majordomo@perl.org.
262 !!HISTORY
263
264
265 This document was originally written by Thomas Dorner
266 for the 5.005 release of Perl.
267
268
269 This document was podified for the 5.6 release of perl
270 11 July 2000.
271 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.