Commit | Line | Data |
ab648d5e |
1 | If you read this file _as_is_, just ignore the funny characters you |
2 | see. It is written in the POD format (see perlpod manpage) which is |
3 | specially designed to be readable as is. |
1d84e8df |
4 | |
ab648d5e |
5 | =head1 NAME |
1d84e8df |
6 | |
ab648d5e |
7 | README.mpeix - Perl/iX for HP e3000 MPE |
b5ab5069 |
8 | |
ab648d5e |
9 | =head1 SYNOPSIS |
1d84e8df |
10 | |
ab648d5e |
11 | http://www.bixby.org/mark/perlix.html |
feb33499 |
12 | http://jazz.external.hp.com/src/hp_freeware/perl/ |
ab648d5e |
13 | Perl language for MPE |
b606c525 |
14 | Last updated July 29, 2003 @ 2100 UTC |
b5ab5069 |
15 | |
ab648d5e |
16 | =head1 NOTE |
1d84e8df |
17 | |
ab648d5e |
18 | This is a podified version of the above-mentioned web page, |
19 | podified by Jarkko Hietaniemi 2001-Jan-01. |
1d84e8df |
20 | |
37a78d01 |
21 | =head1 Binary distribution from HP |
22 | |
23 | The simplest way to obtain Perl for the MPE/iX is to go either of |
24 | these URLs and follow the instructions within. |
25 | |
26 | http://jazz.external.hp.com/src/hp_freeware/perl/ |
27 | http://www.bixby.org/mark/perlix.html |
28 | |
29 | Use which ever one is more recent. |
30 | |
31 | |
210b36aa |
32 | =head1 What's New in Perl for MPE/iX |
1d84e8df |
33 | |
ab648d5e |
34 | June 1, 2000 |
b5ab5069 |
35 | |
ab648d5e |
36 | =over 4 |
1d84e8df |
37 | |
ab648d5e |
38 | =item * |
1d84e8df |
39 | |
ab648d5e |
40 | Rebuilt to be compatible with mod_perl. If you plan on using |
41 | mod_perl, you MUST download and install this version of Perl/iX! |
b5ab5069 |
42 | |
ab648d5e |
43 | =item * |
1d84e8df |
44 | |
ab648d5e |
45 | uselargefiles="undef": not available in MPE for POSIX files yet. |
b5ab5069 |
46 | |
ab648d5e |
47 | =item * |
1d84e8df |
48 | |
ab648d5e |
49 | Now bundled with various add-on packages: |
1d84e8df |
50 | |
ab648d5e |
51 | =over 8 |
1d84e8df |
52 | |
ab648d5e |
53 | =item * |
1d84e8df |
54 | |
37a78d01 |
55 | libnet (as seen on CPAN) |
1d84e8df |
56 | |
ab648d5e |
57 | =item * |
1d84e8df |
58 | |
ab648d5e |
59 | libwww-perl (LWP) which lets Perl programs behave like web browsers: |
b5ab5069 |
60 | |
ab648d5e |
61 | 1. #!/PERL/PUB/perl |
62 | 2. use LWP::Simple; |
63 | 3. $doc = get('http://www.bixby.org/mark/perlix.html'); # reads the |
64 | web page into variable $doc |
b5ab5069 |
65 | |
ab648d5e |
66 | (http://www.bixby.org/mark/perlix.html) |
1d84e8df |
67 | |
ab648d5e |
68 | =item * |
1d84e8df |
69 | |
ab648d5e |
70 | mod_perl (just the perl portion; the actual DSO will be released |
71 | soon with Apache/iX 1.3.12 from bixby.org). This module allows you to |
72 | write high performance persistent Perl CGI scripts and all sorts of |
73 | cool things. (http://perl.apache.org/) |
b5ab5069 |
74 | |
ab648d5e |
75 | and much much more hiding under /PERL/PUB/.cpan/ |
b5ab5069 |
76 | |
ab648d5e |
77 | =item * |
1d84e8df |
78 | |
ab648d5e |
79 | The CPAN module now works for automatic downloading and |
80 | installing of add-on packages: |
1d84e8df |
81 | |
ab648d5e |
82 | 1. export FTP_PASSIVE=1 |
83 | 2. perl -MCPAN -e shell |
84 | 3. Ignore any terminal I/O related complaints! |
b5ab5069 |
85 | |
ab648d5e |
86 | (http://theoryx5.uwinnipeg.ca/CPAN/data/perl/CPAN.html) |
1d84e8df |
87 | |
ab648d5e |
88 | =back |
1d84e8df |
89 | |
ab648d5e |
90 | =back |
91 | |
92 | May 20, 2000 |
93 | |
94 | =over 4 |
95 | |
96 | =item * |
97 | |
98 | Updated to version 5.6.0. Builds straight out of the box on MPE/iX. |
99 | |
100 | =item * |
101 | |
102 | Perl's getpwnam() function which had regressed to being |
103 | unimplemented on MPE is now implemented once again. |
b5ab5069 |
104 | |
ab648d5e |
105 | =back |
106 | |
107 | September 17, 1999 |
108 | |
109 | =over 4 |
110 | |
111 | =item * |
112 | |
113 | Migrated from cccd.edu to bixby.org. |
114 | |
115 | =back |
b5ab5069 |
116 | |
a83b6f46 |
117 | =head1 Welcome to Perl/iX |
ab648d5e |
118 | |
119 | This is the official home page for the HP e3000 MPE/iX |
f224927c |
120 | ( http://www.hp.com/go/e3000 ) port of the Perl scripting |
121 | language ( http://www.perl.com/ ) which gives you all of the power of C, |
ab648d5e |
122 | awk, sed, and sh in a single language. Check here for the latest news, |
123 | implemented functionality, known bugs, to-do list, etc. Status reports |
124 | about major milestones will also be posted to the HP3000-L mailing list |
f224927c |
125 | ( http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L&H=RAVEN.UTC.EDU ) and |
ab648d5e |
126 | its associated gatewayed newsgroup comp.sys.hp.mpe. |
b5ab5069 |
127 | |
ab648d5e |
128 | I'm doing this port because I can't live without Perl on the Unix |
129 | machines that I administer, and I want to have the same power |
130 | available to me on MPE. |
b5ab5069 |
131 | |
ab648d5e |
132 | Please send your comments, questions, and bug reports directly to me, |
03cf1158 |
133 | Mark Bixby ( http://www.bixby.org/mark/ ). Or just post them to HP3000-L. |
b5ab5069 |
134 | |
ab648d5e |
135 | The platform I'm using to do this port is an HP 3000 957RX running |
136 | MPE/iX 6.0 and using the GNU gcc C compiler |
f224927c |
137 | ( http://jazz.external.hp.com/src/gnu/gnuframe.html ). |
b5ab5069 |
138 | |
ab648d5e |
139 | The combined porting wisdom from all of my ports can be found in my |
140 | MPE/iX Porting Guide (http://www.bixby.org/mark/porting.html). |
b5ab5069 |
141 | |
ab648d5e |
142 | IMPORTANT NOTICE: Yes, I do work for the HP CSY R&D lab, but ALL of |
143 | the software you download from bixby.org is my personal freeware that |
144 | is NOT supported by HP. |
145 | |
a83b6f46 |
146 | =head1 System Requirements for Perl/iX |
ab648d5e |
147 | |
148 | =over 4 |
149 | |
150 | =item * |
151 | |
152 | MPE/iX 5.5 or later. This version of Perl/iX does NOT run on |
153 | MPE/iX 5.0 or earlier, nor does it run on "classic" MPE/V machines. |
154 | |
155 | =item * |
156 | |
157 | If you wish to recompile Perl, you must install both GNUCORE and |
158 | GNUGCC from jazz (http://jazz.external.hp.com/src/gnu/gnuframe.html). |
159 | |
160 | =item * |
161 | |
162 | Perl/iX will be happier on MPE/iX 5.5 if you install the MPEKX40B |
163 | extended POSIX filename characters patch, but this is optional. |
164 | |
165 | =item * |
166 | |
167 | Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to |
168 | prevent Perl/iX from dying with an unresolved external reference |
169 | to _getenv_libc. |
170 | |
171 | =item * |
172 | |
173 | If you will be compiling Perl/iX yourself, you will also need |
f224927c |
174 | Syslog/iX ( http://www.bixby.org/mark/syslogix.html ) and the |
ab648d5e |
175 | /BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX |
f224927c |
176 | ( http://www.bixby.org/mark/bindix.html ). |
ab648d5e |
177 | |
178 | =back |
179 | |
180 | =head1 How to Obtain Perl/iX |
181 | |
182 | =over 4 |
183 | |
184 | =item 1. |
185 | |
186 | Download Perl using either FTP.ARPA.SYS or some other client |
187 | |
188 | =item 2. |
189 | |
190 | Extract the installation script |
191 | |
192 | =item 3. |
193 | |
194 | Edit the installation script |
195 | |
196 | =item 4. |
197 | |
198 | Run the installation script |
199 | |
200 | =item 5. |
201 | |
202 | Convert your *.a system archive libraries to *.sl shared libraries |
b5ab5069 |
203 | |
ab648d5e |
204 | =back |
1d84e8df |
205 | |
206 | Download Perl using FTP.ARPA.SYS from your HP 3000 (the preferred |
207 | method)..... |
b5ab5069 |
208 | |
ab648d5e |
209 | :HELLO MANAGER.SYS |
210 | :XEQ FTP.ARPA.SYS |
211 | open ftp.bixby.org |
212 | anonymous |
213 | your@email.address |
214 | bytestream |
215 | cd /pub/mpe |
216 | get perl-5.6.0-mpe.tar.Z /tmp/perl.tar.Z;disc=2147483647 |
217 | exit |
1d84e8df |
218 | |
219 | .....Or download using some other generic web or ftp client (the alternate |
220 | method) |
b5ab5069 |
221 | |
1d84e8df |
222 | Download the following files (make sure that you use "binary mode" or |
223 | whatever client feature that is 8-bit clean): |
224 | |
ab648d5e |
225 | =over 4 |
226 | |
227 | =item * |
228 | |
229 | Perl from |
230 | |
231 | http://www.bixby.org/ftp/pub/mpe/perl-5.6.0-mpe.tar.Z |
232 | |
233 | or |
234 | |
235 | ftp://ftp.bixby.org/pub/mpe/perl-5.6.0-mpe.tar.Z |
b5ab5069 |
236 | |
ab648d5e |
237 | =item * |
1d84e8df |
238 | |
239 | Upload those files to your HP 3000 in an 8-bit clean bytestream manner to: |
240 | |
ab648d5e |
241 | /tmp/perl.tar.Z |
b5ab5069 |
242 | |
ab648d5e |
243 | =item * |
1d84e8df |
244 | |
245 | Then extract the installation script (after both download methods) |
b5ab5069 |
246 | |
ab648d5e |
247 | :CHDIR /tmp |
248 | :XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL' |
1d84e8df |
249 | |
ab648d5e |
250 | =item * |
1d84e8df |
251 | |
252 | Edit the installation script |
b5ab5069 |
253 | |
ab648d5e |
254 | Examine the accounting structure creation commands and modify if |
255 | necessary (adding additional capabilities, choosing a non-system |
256 | volume set, etc). |
1d84e8df |
257 | |
ab648d5e |
258 | :XEQ VI.HPBIN.SYS /tmp/INSTALL |
1d84e8df |
259 | |
ab648d5e |
260 | =item * |
1d84e8df |
261 | |
ab648d5e |
262 | Run the installation script. |
b5ab5069 |
263 | |
1d84e8df |
264 | The accounting structure will be created and then all files will be |
265 | extracted from the archive. |
266 | |
ab648d5e |
267 | :XEQ SH.HPBIN.SYS /tmp/INSTALL |
268 | |
269 | =item * |
270 | |
271 | Convert your *.a system archive libraries to *.sl shared libraries |
b5ab5069 |
272 | |
ab648d5e |
273 | You only have to do this ONCE on your MPE/iX 5.5 machine in order to |
274 | convert /lib/lib*.a and /usr/lib/lib*.a libraries to their *.sl |
275 | equivalents. This step should not be necessary on MPE/iX 6.0 or later |
276 | machines because the 6.0 or later update process does it for you. |
277 | |
278 | :XEQ SH.HPBIN.SYS /PERL/PUB/LIBSHP3K |
279 | |
280 | =back |
281 | |
a83b6f46 |
282 | =head1 Perl/iX Distribution Contents Highlights |
ab648d5e |
283 | |
284 | =over 4 |
285 | |
286 | =item README |
287 | |
288 | The file you're reading now. |
b5ab5069 |
289 | |
ab648d5e |
290 | =item INSTALL |
291 | |
292 | Perl/iX Installation script. |
b5ab5069 |
293 | |
ab648d5e |
294 | =item LIBSHP3K |
295 | |
296 | Script to convert *.a system archive libraries to *.sl shared libraries. |
b5ab5069 |
297 | |
ab648d5e |
298 | =item PERL |
299 | |
300 | Perl NMPRG executable. A version-numbered backup copy also |
301 | exists. You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl". |
b5ab5069 |
302 | |
ab648d5e |
303 | =item .cpan/ |
304 | |
305 | Much add-on source code downloaded with the CPAN module. |
b5ab5069 |
306 | |
ab648d5e |
307 | =item lib/ |
308 | |
309 | Perl libraries, both core and add-on. |
b5ab5069 |
310 | |
ab648d5e |
311 | =item man/ |
312 | |
313 | Perl man page documentation. |
314 | |
315 | =item public_html/feedback.cgi |
316 | |
317 | Sample feedback CGI form written in Perl. |
b5ab5069 |
318 | |
ab648d5e |
319 | =item src/perl-5.6.0-mpe |
320 | |
321 | Source code. |
322 | |
323 | =back |
b5ab5069 |
324 | |
ab648d5e |
325 | =head1 How to Compile Perl/iX |
326 | |
327 | =over 4 |
328 | |
329 | =item 1. |
330 | |
331 | cd src/perl-5.6.0-mpe |
332 | |
333 | =item 2. |
334 | |
335 | Read the INSTALL file for the official instructions |
336 | |
337 | =item 3. |
338 | |
339 | ./Configure -d |
340 | |
341 | =item 4. |
342 | |
343 | make |
344 | |
345 | =item 5. |
346 | |
347 | ./mpeix/relink |
348 | |
349 | =item 6. |
350 | |
351 | make test (expect approximately 15 out of 11306 subtests to fail, |
352 | mostly due to MPE not supporting hard links, UDP socket problems, |
353 | and handling exit() return codes improperly) |
354 | |
355 | =item 7. |
356 | |
357 | make install |
358 | |
359 | =item 8. |
360 | |
361 | Optionally create symbolic links that point to the Perl |
362 | executable, i.e. ln -s /PERL/PUB/PERL /usr/local/bin/perl |
b5ab5069 |
363 | |
ab648d5e |
364 | =back |
1d84e8df |
365 | |
366 | The summary test results from "cd t; ./perl -I../lib harness": |
367 | |
ab648d5e |
368 | Failed Test Status Wstat Total Fail Failed List of failed |
369 | --------------------------------------------------------------------------- |
370 | io/fs.t 29 8 27.59% 2-5, 7-9, 11 |
371 | io/openpid.t 10 1 10.00% 7 |
372 | lib/io_sock.t 14 1 7.14% 13 |
373 | lib/io_udp.t 7 2 28.57% 3, 5 |
374 | lib/posix.t 27 1 3.70% 12 |
375 | op/lex_assign.t 187 1 0.53% 13 |
376 | op/stat.t 58 1 1.72% 3 |
377 | 15 tests and 94 subtests skipped. |
378 | Failed 7/236 test scripts, 97.03% okay. 15/11306 subtests failed, 99.87% okay. |
379 | |
380 | =head1 Getting Started with Perl/iX |
381 | |
382 | Create your Perl script files with "#!/PERL/PUB/perl" (or an |
383 | equivalent symbolic link) as the first line. Use the chmod command to |
384 | make sure that your script has execute permission. Run your script! |
b5ab5069 |
385 | |
ab648d5e |
386 | Be sure to take a look at the CPAN module list |
f224927c |
387 | ( http://www.cpan.org/CPAN.html ). A wide variety of free Perl software |
ab648d5e |
388 | is available. You can automatically download these packages by using |
f224927c |
389 | the CPAN module ( http://theoryx5.uwinnipeg.ca/CPAN/data/perl/CPAN.html ). |
ab648d5e |
390 | |
391 | =head1 MPE/iX Implementation Considerations |
392 | |
393 | There some minor functionality issues to be aware of when comparing |
394 | Perl for Unix (Perl/UX) to Perl/iX: |
395 | |
396 | =over 4 |
397 | |
398 | =item * |
399 | |
400 | MPE gcc/ld doesn't properly support linking NMPRG executables against |
401 | NMXL dynamic libraries, so you must manually run mpeix/relink after |
402 | each re-build of Perl. |
403 | |
404 | =item * |
405 | |
406 | Perl/iX File::Copy will use MPE's /bin/cp command to copy files by |
407 | name in order to preserve file attributes like file code. |
408 | |
409 | =item * |
410 | |
411 | MPE (and thus Perl/iX) lacks support for setgrent(), endgrent(), |
412 | setpwent(), endpwent(). |
413 | |
414 | =item * |
415 | |
416 | MPE (and thus Perl/iX) lacks support for hard links. |
417 | |
418 | =item * |
419 | |
420 | MPE requires GETPRIVMODE() in order to bind() to ports less than 1024. |
421 | Perl/iX will call GETPRIVMODE() automatically on your behalf if you |
422 | attempt to bind() to these low-numbered ports. Note that the Perl/iX |
423 | executable and the PERL account do not normally have CAP=PM, so if you |
424 | will be bind()-ing to these privileged ports, you will manually need |
425 | to add PM capability as appropriate. |
426 | |
427 | =item * |
428 | |
429 | MPE requires that you bind() to an IP address of zero. Perl/iX |
430 | automatically replaces the IP address that you pass to bind() with |
431 | a zero. |
432 | |
433 | =item * |
434 | |
ab648d5e |
435 | MPE requires GETPRIVMODE() in order to setuid(). There are too many |
436 | calls to setuid() within Perl/iX, so I have not attempted an automatic |
437 | GETPRIVMODE() solution similar to bind(). |
438 | |
439 | =back |
b5ab5069 |
440 | |
a83b6f46 |
441 | =head1 Known Perl/iX Bugs Under Investigation |
ab648d5e |
442 | |
443 | None. |
b5ab5069 |
444 | |
a83b6f46 |
445 | =head1 Perl/iX To-Do List |
ab648d5e |
446 | |
447 | =over 4 |
448 | |
449 | =item * |
450 | |
451 | Make setuid()/setgid() support work. |
452 | |
453 | =item * |
454 | |
455 | Make sure that fcntl() against a socket descriptor is redirected to sfcntl(). |
456 | |
457 | =item * |
458 | |
459 | Add support for Berkeley DB once I've finished porting Berkeley DB. |
460 | |
461 | =item * |
462 | |
463 | Write an MPE XS extension library containing miscellaneous important |
464 | MPE functions like GETPRIVMODE(), GETUSERMODE(), and sfcntl(). |
b5ab5069 |
465 | |
ab648d5e |
466 | =back |
467 | |
a83b6f46 |
468 | =head1 Perl/iX Change History |
ab648d5e |
469 | |
470 | May 6, 1999 |
b5ab5069 |
471 | |
ab648d5e |
472 | =over 4 |
473 | |
474 | =item * |
475 | |
476 | Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to prevent |
477 | Perl/iX from dying with an unresolved external reference to _getenv_libc. |
b5ab5069 |
478 | |
ab648d5e |
479 | =back |
480 | |
481 | April 7, 1999 |
482 | |
483 | =over 4 |
484 | |
485 | =item * |
486 | |
487 | Updated to version 5.005_03. |
488 | |
489 | =item * |
490 | |
491 | The official source distribution once again compiles "straight out |
492 | of the box" for MPE. |
493 | |
494 | =item * |
495 | |
496 | The current incarnation of the 5.5 POSIX filename extended |
497 | characters patch is now MPEKX40B. |
498 | |
499 | =item * |
500 | |
501 | The LIBSHP3K *.a -> *.sl library conversion script is now included |
502 | as /PERL/PUB/LIBSHP3K. |
b5ab5069 |
503 | |
ab648d5e |
504 | =back |
505 | |
506 | November 20, 1998 |
507 | |
508 | =over 4 |
509 | |
510 | =item * |
511 | |
512 | Updated to version 5.005_02. |
513 | |
514 | =item * |
515 | |
516 | Fixed a DynaLoader bug that was unable to load symbols from relative |
517 | path name libraries. |
518 | |
519 | =item * |
520 | |
521 | Fixed a .xs compilation bug where the mpeixish.sh include file wasn't |
522 | being installed into the proper directory. |
523 | |
524 | =item * |
525 | |
526 | All bugfixes will be submitted back to the official Perl developers. |
527 | |
528 | =item * |
529 | |
530 | The current incarnation of the POSIX filename extended characters |
531 | patch is now MPEKXJ3A. |
b5ab5069 |
532 | |
ab648d5e |
533 | =back |
b5ab5069 |
534 | |
ab648d5e |
535 | August 14, 1998 |
536 | |
537 | =over 4 |
538 | |
539 | =item * |
540 | |
541 | The previous POSIX filename extended characters patch MPEKX44C has |
542 | been superseded by MPEKXB5A. |
b5ab5069 |
543 | |
ab648d5e |
544 | =back |
b5ab5069 |
545 | |
ab648d5e |
546 | August 7, 1998 |
547 | |
548 | =over 4 |
549 | |
550 | =item * |
551 | |
552 | The previous POSIX filename extended characters patch MPEKX76A has |
553 | been superseded by MPEKX44C. |
ab648d5e |
554 | |
555 | =back |
b5ab5069 |
556 | |
ab648d5e |
557 | July 28, 1998 |
558 | |
b5ab5069 |
559 | =over 4 |
560 | |
ab648d5e |
561 | =item * |
562 | |
563 | Updated to version 5.005_01. |
b5ab5069 |
564 | |
ab648d5e |
565 | =back |
b5ab5069 |
566 | |
ab648d5e |
567 | July 23, 1998 |
568 | |
569 | =over 4 |
570 | |
571 | =item * |
572 | |
573 | Updated to version 5.005 (production release). The public |
574 | freeware sources are now 100% MPE-ready "straight out of the box". |
b5ab5069 |
575 | |
ab648d5e |
576 | =back |
b5ab5069 |
577 | |
ab648d5e |
578 | July 17, 1998 |
579 | |
580 | =over 4 |
581 | |
582 | =item * |
583 | |
584 | Updated to version 5.005b1 (public beta release). The public |
585 | freeware sources are now 99.9% MPE-ready. By installing and |
586 | testing this beta on your own HP3000, you will be helping to |
587 | insure that the final release of 5.005 will be 100% MPE-ready and |
588 | 100% bug free. |
589 | |
590 | =item * |
591 | |
592 | My MPE binary release is now extracted using my standard INSTALL script. |
b5ab5069 |
593 | |
ab648d5e |
594 | =back |
b5ab5069 |
595 | |
ab648d5e |
596 | July 15, 1998 |
597 | |
598 | =over 4 |
599 | |
600 | =item * |
601 | |
602 | Changed startperl to #!/PERL/PUB/perl so that Perl will recognize |
603 | scripts more easily and efficiently. |
b5ab5069 |
604 | |
ab648d5e |
605 | =back |
b5ab5069 |
606 | |
ab648d5e |
607 | July 8, 1998 |
608 | |
609 | =over 4 |
610 | |
611 | =item * |
612 | |
613 | Updated to version 5.004_70 (internal developer release) which is now |
614 | MPE-ready. The next public freeware release of Perl should compile |
615 | "straight out of the box" on MPE. Note that this version of Perl/iX |
616 | was strictly internal to me and never publicly released. Note that |
617 | [21]BIND/iX is now required (well, the include files and libbind.a) if |
618 | you wish to compile Perl/iX. |
b5ab5069 |
619 | |
ab648d5e |
620 | =back |
b5ab5069 |
621 | |
ab648d5e |
622 | November 6, 1997 |
623 | |
624 | =over 4 |
625 | |
626 | =item * |
627 | |
628 | Updated to version 5.004_04. No changes in MPE-specific functionality. |
b5ab5069 |
629 | |
ab648d5e |
630 | =back |
b5ab5069 |
631 | |
ab648d5e |
632 | October 16, 1997 |
633 | |
634 | =over 4 |
635 | |
636 | =item * |
637 | |
638 | Added Demos section to the Perl/iX home page so you can see some |
639 | sample Perl applications running on my 3000. |
b5ab5069 |
640 | |
ab648d5e |
641 | =back |
b5ab5069 |
642 | |
ab648d5e |
643 | October 3, 1997 |
644 | |
645 | =over 4 |
646 | |
647 | =item * |
648 | |
649 | Added System Requirements section to the Perl/iX home page just so the |
650 | prerequisites stand out more. Various other home page tweaks. |
b5ab5069 |
651 | |
ab648d5e |
652 | =back |
b5ab5069 |
653 | |
ab648d5e |
654 | October 2, 1997 |
655 | |
656 | =over 4 |
657 | |
658 | =item * |
659 | |
660 | Initial public release. |
b5ab5069 |
661 | |
ab648d5e |
662 | =back |
b5ab5069 |
663 | |
ab648d5e |
664 | September 1997 |
665 | |
666 | =over 4 |
667 | |
668 | =item * |
669 | |
670 | Porting begins. |
671 | |
672 | =back |
b5ab5069 |
673 | |
a83b6f46 |
674 | =head1 AUTHOR |
b5ab5069 |
675 | |
03cf1158 |
676 | Mark Bixby, http://www.bixby.org/mark/ |
ab648d5e |
677 | |