Choosing between sh and perl for system scripts

Jerry McAllister jerrymc at
Tue Feb 10 08:56:57 PST 2004

> Now that I have a desktop workstation and network, I'm trying to learn the
> true admin side of BSD, such as the periodic tasks, and how to automate
> things.  I see perl all over the system, and I know it's powerful and easy
> to use.  What might help me decide which tool would be best for the scripts
> I want to write?

Probably the two main things to consider are what type of processing
you will be doing and how much it will be used.

Perl is great for text processing - grabbing things out of text
streams, mashing it around, creating easily searched and manipulated 
tables of that sort of stuff.   It is not really so good at anything
that needs a lot of floating point number crunching.

Perl handles CGIs for web stuff pretty well unless you are getting
thousands of hits on something.  Then it can be a little slow.
Or, if it involves talking to a database, maybe you would prefer PHP
for that part of things.

Perl is good for scripts that get used now and then.  But, it is
kind of big so if the script is likely to be used a lot - every
second or so, then you will want to use something leaner.  Probably
either sh or even write it in C.

Some people crab about Perl being less secure, but I think that
is mostly like everything else.  A poorly written script will
be insecure in any language.  A well written script will be more
secure.  Since Perl handles all your data types for you, you do not
have so much of a problem of overrunning buffers, which is where
most cracks develop in the UNIX world.   So, in that sense, Perl
can be more secure than C code.

If you need something that runs in single user mode, then you
will want to use sh for that.


> NOTE: Please CC me, as I am not currently subscribed.  Thanks.
> jm
> -- 
> My other computer is your windows box.
> _______________________________________________
> freebsd-questions at mailing list
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at"

More information about the freebsd-questions mailing list