Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^2: Unix shell versus Perl

by peterdragon (Beadle)
on Feb 19, 2008 at 23:30 UTC ( #668909=note: print w/ replies, xml ) Need Help??


in reply to Re: Unix shell versus Perl
in thread Unix shell versus Perl

One job I had many years ago was writing a standard installer for a Unix app written in C. I used shell. But it had to run on AIX, ICL Unix, DEC Unix, Sys V SCO OpenUnix and BSD. Very little standardisation across shells on those platforms, nightmare to work around the quirks of different machines.

Let me give another example of shell suckiness. Write a script to run FTP, check the output and if it fails do some rollback action. Perl, easy (Net::FTP). Shell, you run, grep and pray. Again, different platforms, different ftp command line syntax... Linux, Solaris, argh.

Regards, Peter
http://perl.dragonstaff.co.uk


Comment on Re^2: Unix shell versus Perl
Re^3: Unix shell versus Perl
by JavaFan (Canon) on Aug 05, 2008 at 13:29 UTC
    My experiences are different. I once rewrote from scratch an installer/upgrader for the product the company I worked for produced. The result, a 2.5k shell/awk program, using isql (Sybase command line tool) to do its interaction with the database. Initially developed on Solaris, but I knew it had to run on HP-UX and Windows NT as well. The porting took less than 30 minutes - I was using an option to grep HP-UX didn't know about, and Windows NT (which had a Unix toolkit installed) didn't know about /tmp.

    Later, I've used shell scripts initially developped on Linux without much problems under Windows/cygwin.

    Of course, you may say, Windows doesn't come with a Unix toolkit. You are right of course. But Windows doesn't come with Perl either, so whether you want to use Perl or shell to do your cross-platform scripting, you will have to install something.

    Why I didn't write the installer I mentioned in the first paragraph in Perl, you may ask. Well, at that time, Solaris didn't come with perl, so we couldn't assume perl was available. And I hadn't convinced the company I worked for that we should just bundle perl with our product. Yet. A year later, I had to write a different installer. By then, we did bundle perl with our product, and that one was written in Perl. By the time, we had dropped Windows as a platform so I don't know whether it would have worked on Windows.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://668909]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (12)
As of 2015-07-06 13:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (74 votes), past polls