hutch@gothamcity.jsc.nasa.gov (Mark Hutchison) (05/01/91)
I need a thumbnail sketch of the utility "perl." Understand it is a something of a superset of awk and other utilities. Specifically, what does it do that the other utilities will not? Where can I get it? How much $? What versions of UNIX does it operate with/on? Thanks, Hutch
tchrist@convex.COM (Tom Christiansen) (05/02/91)
From the keyboard of hutch@gothamcity.jsc.nasa.gov (Mark Hutchison): :I need a thumbnail sketch of the utility "perl." Understand it is a something :of a superset of awk and other utilities. Specifically, what does it do that :the other utilities will not? Where can I get it? How much $? What versions of :UNIX does it operate with/on? I've sent Mark a few of my long canned articles about perl, including the FAQ. Anyone else who'd like these need but ask. --tom -- Tom Christiansen tchrist@convex.com convex!tchrist "So much mail, so little time."
merlyn@iwarp.intel.com (Randal L. Schwartz) (05/03/91)
In article <1991May1.161343.21501@aio.jsc.nasa.gov>, hutch@gothamcity (Mark Hutchison) writes: | I need a thumbnail sketch of the utility "perl." Understand it is a something | of a superset of awk and other utilities. Specifically, what does it do that | the other utilities will not? Where can I get it? How much $? What versions of | UNIX does it operate with/on? It's free (more or less). You can get it from all the standard GNU archives (including the GNU "misc" tape or the osucis anon UUCP archives) or from its home (via anon FTP) at devvax.jpl.nasa.gov. It runs with nearly anything that tries to call itself "UNIX", and can be compiled to run on MS/DOS. Here's the first paragraph from the 70-page "manpage": Perl is an interpreted language optimized for scanning arbi- trary text files, extracting information from those text files, and printing reports based on that information. It's also a good language for many system management tasks. The language is intended to be practical (easy to use, effi- cient, complete) rather than beautiful (tiny, elegant, minimal). It combines (in the author's opinion, anyway) some of the best features of C, sed, awk, and sh, so people familiar with those languages should have little difficulty with it. (Language historians will also note some vestiges of csh, Pascal, and even BASIC-PLUS.) Expression syntax corresponds quite closely to C expression syntax. Unlike most Unix utilities, perl does not arbitrarily limit the size of your data--if you've got the memory, perl can slurp in your whole file as a single string. Recursion is of unlimited depth. And the hash tables used by associative arrays grow as necessary to prevent degraded performance. Perl uses sophisticated pattern matching techniques to scan large amounts of data very quickly. Although optimized for scanning text, perl can also deal with binary data, and can make dbm files look like associative arrays (where dbm is available). Setuid perl scripts are safer than C programs through a dataflow tracing mechanism which prevents many stupid security holes. If you have a problem that would ordinarily use sed or awk or sh, but it exceeds their capa- bilities or must run a little faster, and you don't want to write the silly thing in C, then perl may be for you. There are also translators to turn your sed and awk scripts into perl scripts. OK, enough hype. There's a (some say 'good', I say 'the only' :-) book on Perl published by O'Reilly & Associates called "Programming Perl", available in most better technical bookstores, or directly from the publisher by mailorder. Support is provided by the "Joint Association of Perl Hackers" (JAPH) through the newsgroup comp.lang.perl. Larry Wall, the creator of Perl, reads and posts to that group frequently. print "Just another Perl hacker," -- /=Randal L. Schwartz, Stonehenge Consulting Services (503)777-0095 ==========\ | on contract to Intel's iWarp project, Beaverton, Oregon, USA, Sol III | | merlyn@iwarp.intel.com ...!any-MX-mailer-like-uunet!iwarp.intel.com!merlyn | \=Cute Quote: "Intel: putting the 'backward' in 'backward compatible'..."====/