Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Nov 1996 16:25:50 +1100
From:      davidn@sdev.usn.blaze.net.au (David Nugent)
To:        nik@blueberry.co.uk (Nik Clayton)
Cc:        terry@lambert.org (Terry Lambert), msmith@atrad.adelaide.edu.au (Michael Smith), ejs@bfd.com, hackers@freebsd.org
Subject:   Re: Who needs Perl? We do!
Message-ID:  <Mutt.19961120162550.davidn@sdev>
In-Reply-To: <Mutt.19961119194910.nik@blueberry.co.uk>; from Nik Clayton on Nov 19, 1996 19:49:10 %2B0000
References:  <199611190132.MAA25471@genesis.atrad.adelaide.edu.au> <199611191814.LAA09210@phaeton.artisoft.com> <Mutt.19961119194910.nik@blueberry.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
Nik Clayton writes:
> Terry Lambert writes:
> > This is the rub.  PERL is not stable over the release cycle period for
> > FreeBSD.  People are *always* complaining "why don't you upgrade your
> > PERL?", even when it it well known that an upgrade frequently requires
> > updating all of the PERL-dependent scripts to the new syntax, since
> > the syntax is not sufficiently stable.
> 
> As someone who spends a reasonable amount of the working day coding in 
> Perl, I don't think this is a particularly valid point, particularly in
> comparison to the moving target that is Tcl/Tk. In the past four years
> Perl 4.036 (/usr/bin/perl on 2.1.5 and below) has been the standard,
> rock-solid version on the 4.branch, while 5.0 was the new, OO biased
> version.

Yes. I have to think carefully when trying to come up with something
works under perl4 as well. :) The comment about perl4 being dead *is*
very true it is no longer supported.

Let's see.. excluding things provided for perl development, in the
-current distribution we have the following scripts:

/usr/bin/catman
/usr/bin/keyinfo
/usr/bin/killall
/usr/bin/makewhatis
/usr/bin/sgmlfmt
/usr/bin/whereis
/usr/bin/which
/usr/sbin/adduser (and presumably add/rmgroup & removeuser?)
/usr/sbin/kbdmap
/usr/sbin/spkrtest
/usr/sbin/vidfont

It is interesting to note that all of these scripts run unchanged
under perl5. So the first paragraph quoted above is bogus in any
case.

> There is an issue moving from 4.036 to 5.x, as the syntax did change
> in a few places between the two -- not counting the option of a new
> OOish syntax, which wouldn't break older scripts anyway. Most obviously 
> where '@' in strings suddenly needed to backslash-escaped. This broke 
> a lot of things that dealt with e-mail addresses.

Yes. That is perhaps the most pertinent change, and the one that
is most likely to affect anyone who is dependant on perl4. There
are others, but most dependancies are fairly obscure.

> Not much in the way of hard facts there, but this seems to be an opinion
> only thread anyway.

I can only confirm the same experience.

All I will add is that a decision not to upgrade perl (not necessarily
follow the bleeding edge at all!) is just putting off the inevitable
with the probability of creating likely dependancies on perl4 that
apparently don't currently exist.

> Having said that, I don't think Perl should be moved to the base system
> anyway (assuming that base system is whatever you get when you install
> bin.xx for the first time). But this is for the same reason I don't
> particularly want tcl in there either -- they're extensions to the 
> system -- I have no objections to seeing a new dist category, something
> like 'cool-things-we-think-you'll-enjoy', but I tend to prefer to
> build these things myself.

I could not agree more.

Personally, i think perl5 is *too big* to include in the base system
anyway, and comes with a large amount of cruft that noone will use
unless they develop applications in perl or run a lot of third-party
perl scripts (mainly web sites). For the few perl scripts in the
system, only the sgml formatter will be the loss (unless something
in the install depends upon it? Can't say I've looked). Almost
everything else can be easily replaced, either with a shell script
or a small C program (which I'll happily volunteer to take care of,
if the removal of perl4 from the base dist is the preferred way to
go).

It appears to me at least that the reluctance to "upgrade" to perl
is due to its size. I agree with that. It's just that as a
developer who uses perl, having perl4 on the system is a pain in
the rear. Yes, sure, I know I won't affect finished scripts that
use #!, but (a) it is a waste of space just for a few scripts,
(b) for a variety of reasons, I'd prefer to have /usr/bin in my
path before /usr/local/bin and while developing scripts, I often
need to call perl from the command line (with -d, for example),
and (c) nothing perl 4 does can't be done by perl 5.


David Nugent, Unique Computing Pty Ltd - Melbourne, Australia
Voice +61-3-9791-9547 Data/BBS +61-3-9792-3507 3:632/348@fidonet
davidn@blaze.net.au http://www.blaze.net.au/~davidn



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Mutt.19961120162550.davidn>