[comp.sys.amiga.programmer] Perl on the Amiga

anneb@zogwarg.etl.army.mil (Anne Brink) (03/08/91)

Hey, folks!

I would like to find a copy of perl for the Amiga of greater than 3.0pl18,
which is, I believe, the binary available on jpl-devvax.  Has anyone had
success building a later version?  Is one available for ftp anywhere?

I've been told that the patches to perl on jpl-devvax are pretty Manx-specific.
(I haven't actually spent much time looking at them, nor am I familiar with
Manx)  If I applied those patches to a later version of Perl (say, pl44 or 4.0)
on another compiler (say, DICE or gcc) how much beating would I have to do?

Thanks for any help,

					-Anne Brink
-- 
###############################################################################
Anne Brink			#	U.S. Army Engineer Topographic Labs
anneb@etl.army.mil		#	Ft. Belvoir, VA (USA)
###############################################################################

dgg@ksr.com (David Grubbs) (03/08/91)

In article <571@zogwarg.etl.army.mil> anneb@etl.army.mil (Anne Brink) writes:

> Hey, folks!

> I would like to find a copy of perl for the Amiga of greater than 3.0pl18,
> which is, I believe, the binary available on jpl-devvax.  Has anyone had
> success building a later version?  Is one available for ftp anywhere?

	The Amiga PERL you are talking about is the one I ported about
	one year ago, when 3.018 came out.  If someone has a later
	version, it would save me some time in porting PERL 4.0 to
	AmigaOS 2.0.  I've been waiting for both of them before doing
	another port.

> I've been told that the patches to perl on jpl-devvax are pretty
> Manx-specific.

	The time and effort in the "port" consisted of:

		10% Build incompatibilities. (Makefile, variable names.)
		10% Simple Unix library functions.
		25% Unix "Process" Library functions.
		25% Building or porting external Unix tools on the Amiga.
		10% Writing external Amiga tools from scratch.
		12% Debug and test.
		 5% #ifdef additions
		 3% "Traditional" porting problems.

	The majority of the "port" was not even "C" code within PERL --
	most of that was taken care of by existing "#ifdef"s and a few I
	added.  To get it to build, I only needed Bison (aside from C).
	But to get it to run as it does on Unix, I had to find all the
	tools it assumes are available in your PATH: "sed", "cpp",
	"glob" (from "csh") and a bunch of other tools, plus a library
	of Unix-like functions.

	In all that, the only parts that are truly Manx-specific are a
	very few buried in the "process creation" code (a fork/exec
	hack, system, popen), which did some really strange things that
	required me to look into the Manx C Library source to see what
	the hell they were up to.  If you don't use "system", "exec",
	``, or open("| ... |") in your PERL programs, you can stub them out.

	The main reason I've waited for 2.0 is that it supposedly has better
	"Execute" and "System" functions that will make the whole thing
	easier.  I became a registered Amiga developer to get at the 2.0
	upgrade and documentation -- I dropped my order for them in the
	mail yesterday.

>		(I haven't actually spent much time looking at them, nor am
> I familiar with Manx) If I applied those patches to a later version of Perl
> (say, pl44 or 4.0) on another compiler (say, DICE or gcc) how much beating
> would I have to do?

	From an examination of the differences between 3.018 and 3.044,
	you will not get very far with the patches.  One of the reasons
	I refer to "another port" above is that the patches are huge.
	It will require a bit of work to "port" it again.  And when I
	do, a good portion of the time will be spent trying to do as
	complete a port as possible, using the 2.0 facilities.

	Any decent programmer could certainly make it work under any
	compiler available for the Amiga.  If "gcc" is available when I
	get 2.0 and 4.0, I'll use that.  The code I changed is not that
	difficult to understand and the code I wrote is relatively
	simple.  Your only problem will be finding all the elements in
	the new code that need to be massaged.

> Thanks for any help,
>					   -Anne Brink

	Did my best.  If you need something specific, contact me.
	If you hear from someone who has already done the 4.0 port to
	AmigaOS 1.3, I'd like to hear about that too.  Since AmigaOS 2.0
	has not been released yet, I doubt I'll hear much about that.
--
David G. Grubbs				Kendall Square Research Corp.
{harvard,uunet,world}!ksr!dgg		dgg@ksr.com