home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.perl,news.answers
- Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!spool.mu.edu!agate!boulder!wraeththu.cs.colorado.edu!tchrist
- From: Tom Christiansen <tchrist@cs.Colorado.EDU>
- Subject: Perl Frequently Asked Questions, part 1 of 4
- Message-ID: <CE9Bpt.24w@Colorado.EDU>
- Followup-To: comp.lang.perl
- Originator: tchrist@wraeththu.cs.colorado.edu
- Sender: news@Colorado.EDU (USENET News System)
- Organization: University of Colorado at Boulder
- Date: Sat, 2 Oct 1993 06:37:04 GMT
- Approved: news-answers-request@MIT.Edu
- Expires: Wed, 1 Dec 1993 12:00:00 GMT
- Lines: 813
- Xref: senator-bedfellow.mit.edu comp.lang.perl:20582 news.answers:13120
-
- Archive-name: perl-faq/part1
- Version: $Id: perl-info1,v 1.1 93/10/02 00:27:05 tchrist Exp Locker: tchrist $
-
- This posting contains answers to general information questions,
- mostly of a non-technical nature. The following questions are
- answered in this posting:
-
- 1.1) What is Perl?
- 1.2) Is Perl hard to learn?
- 1.3) Should I program everything in Perl?
- 1.4) Where can I get Perl over the Internet?
- 1.5) Where can I get Perl via Email?
- 1.6) How can I get Perl via UUCP?
- 1.7) Where can I get more information on Perl?
- 1.8) Can people who aren't on USENET receive comp.lang.perl as a digest?
- 1.9) Are archives of comp.lang.perl available?
- 1.10) Is there a WAIS server for Perl?
- 1.11) Is there a Perl port to machine FOO?
- 1.12) How do I get Perl to compile on Solaris?
- 1.13) How do I get Perl to compile on a Next?
- 1.14) Where can I get (info|inter|ora|sql|syb)perl?
- 1.15) Where can I get an SNMP-aware Perl?
- 1.16) There's an a2p and an s2p; why isn't there a p2c (perl-to-C)?
- 1.17) Where can I get undump for my machine?
- 1.18) Where can I get a perl-mode for emacs?
- 1.19) How can I use Perl interactively?
- 1.20) Is there a Perl shell?
-
-
- 1.1) What is Perl?
-
- A programming language, by Larry Wall <lwall@netlabs.com>.
-
- Here's the beginning of the description from the man page:
-
- Perl is an interpreted language optimized for scanning arbitrary 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,
- efficient, 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 capabilities 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.
-
-
- 1.2) Is Perl hard to learn?
-
- No, Perl is easy to learn for two reasons.
-
- The first reason is that most of Perl is derived from existing tools
- and languages, ones that many people who turn to Perl already have
- some familiarity with. These include the C programming language, the
- UNIX C library, the UNIX shell, sed, and awk. If you already know
- these somewhat, Perl should be very easy for you.
-
- The second reason that Perl is easy to learn is that you don't have to
- know every thing there is to know about it in order to get good use
- out of it. In fact, just a very small subset, mostly borrowed from C,
- the shell, and sed, will be enough for most tasks. As you feel the
- need or desire to use more sophisticated features (such as C
- structures or networking), you can learn these as you go. The
- learning curve for Perl is not a steep one, especially if you have
- the headstart of having a background in UNIX. Rather, its learning
- curve is gentle and gradual, but it *is* admittedly rather long.
-
- If you don't know C or UNIX at all, it'll be a steeper learning curve,
- but what you then learn from Perl will carry over into other areas,
- like using the C library, UNIX system call, regular expressions, and
- associative arrays, just to name a few. To know Perl is to know
- UNIX, and vice versa.
-
-
- 1.3) Should I program everything in Perl?
-
- Of course not. You should choose the appropriate tool for the task at
- hand. While it's true that the answer to the question "Can I do (some
- arbitrary task) in Perl?" is almost always "yes", that doesn't mean
- this is necessarily a good thing to do. For many people, Perl serves
- as a great replacement for shell programming. For a few people, it
- also serves as a replacement for most of what they'd do in C. But
- for some things, Perl just isn't the optimal choice, such as tasks
- requiring very complex data structures.
-
-
- 1.4) Where can I get Perl over the Internet?
-
- From any comp.sources.misc archive. Initial sources were posted to
- Volume 18, Issues 19-54 at patchlevel 3. The Patches 4-10 were posted
- to Volume 20, Issues 56-62. You can use the archie server
- (see the alt.sources FAQ in news.answers) for ways to find these.
-
- These machines, at the very least, definitely have it available for
- anonymous FTP:
-
- ftp.uu.net 137.39.1.2
- ftp.netlabs.com 192.94.48.152
- coombs.anu.edu.au 150.203.76.2
- archive.cis.ohio-state.edu 128.146.8.52
- jpl-devvax.jpl.nasa.gov 128.149.1.143
- prep.ai.mit.edu 18.71.0.38
- ftp.cs.ruu.nl 131.211.80.17 (Europe)
-
- Larry's machine is the netlabs one, and the biggest Perl archive
- is on coombs.
-
-
- 1.5) Where can I get Perl via Email?
-
- If you are in Europe, you might using the following site. (I'm still
- looking for a domestic site.) This information thanks to "Henk P.
- Penning" <henkp@cs.ruu.nl>: One automated fashion is as follows:
-
- Email: Send a message to 'mail-server@cs.ruu.nl' containing:
- begin
- path your_email_address
- send help
- send PERL/INDEX
- end
- The path-line may be omitted if your message contains a normal From:-line.
- You will receive a help-file and an index of the directory that contains
- the Perl stuff.
-
- If all else fails, mail to Larry usually suffices.
-
-
- 1.6) How can I get Perl via UUCP?
-
- You can get it from the site osu-cis; here is the appropriate info,
- thanks to J Greely <jgreely@cis.ohio-state.edu> or <osu-cis!jgreely>.
-
- E-mail contact:
- osu-cis!uucp
- Get these two files first:
- osu-cis!~/GNU.how-to-get.
- osu-cis!~/ls-lR.Z
- Current Perl distribution:
- osu-cis!~/perl/4.0/kits@10/perl.kitXX.Z (XX=01-37)
- How to reach osu-cis via uucp(L.sys/Systems file lines):
- #
- # Direct Trailblazer
- #
- osu-cis Any ACU 19200 1-614-292-5112 in:--in:--in: Uanon
- #
- # Direct V.32 (MNP 4)
- # dead, dead, dead...sigh.
- #
- #osu-cis Any ACU 9600 1-614-292-1153 in:--in:--in: Uanon
- #
- # Micom port selector, at 1200, 2400, or 9600 bps.
- # Replace ##'s below with 12, 24, or 96 (both speed and phone number).
- #
- osu-cis Any ACU ##00 1-614-292-31## "" \r\c Name? osu-cis nected \c GO \d\r\d\r\d\r in:--in:--in:
- Uanon
-
- Modify as appropriate for your site, of course, to deal with your
- local telephone system. There are no limitations concerning the hours
- of the day you may call.
-
- Another possibility is to use UUNET, although they charge you
- for it. You have been duly warned. Here's the advert:
-
- Anonymous Access to UUNET's Source Archives
-
- 1-900-GOT-SRCS
-
- UUNET now provides access to its extensive collection of UNIX
- related sources to non- subscribers. By calling 1-900-468-7727
- and using the login "uucp" with no password, anyone may uucp any
- of UUNET's on line source collection. Callers will be charged 40
- cents per minute. The charges will appear on their next tele-
- phone bill.
-
- The file uunet!/info/help contains instructions. The file
- uunet!/index//ls-lR.Z contains a complete list of the files available
- and is updated daily. Files ending in Z need to be uncompressed
- before being used. The file uunet!~/compress.tar is a tar
- archive containing the C sources for the uncompress program.
-
- This service provides a cost effective way of obtaining
- current releases of sources without having to maintain accounts
- with UUNET or some other service. All modems connected to the
- 900 number are Telebit T2500 modems. These modems support all
- standard modem speeds including PEP, V.32 (9600), V.22bis (2400),
- Bell 212a (1200), and Bell 103 (300). Using PEP or V.32, a 1.5
- megabyte file such as the GNU C compiler would cost $10 in con-
- nect charges. The entire 55 megabyte X Window system V11 R4
- would cost only $370 in connect time. These costs are less than
- the official tape distribution fees and they are available now
- via modem.
-
- UUNET Communications Services
- 3110 Fairview Park Drive, Suite 570
- Falls Church, VA 22042
- +1 703 876 5050 (voice)
- +1 703 876 5059 (fax)
- info@uunet.uu.net
-
-
-
- 1.7) Where can I get more information on Perl?
-
- We'll cover five areas here: USENET (where you're probably reading
- this), publications, the reference guide, examples on the Internet,
- and Perl instructional courses.
-
- A. USENET
-
- You should definitely read the USENET comp.lang.perl newsgroup or
- mailing list for all sorts of discussions regarding the language,
- bugs, features, history, humor, and trivia. In this respect, it
- functions both as a comp.lang.* style newsgroup and also as a user
- group for the language; in fact, there's a mailing list called
- ``perl-users'' that is bidirectionally gatewayed to the newsgroup; see
- question #38 for details. Larry Wall is a very frequent poster here,
- as well as many (if not most) of the other seasoned Perl programmers.
- It's the best place for the very latest information on Perl.
-
- B. PUBLICATIONS
-
- If you've been dismayed by the ~80-page troffed Perl man page (or is
- that man treatise?) you should look to ``the Camel Book'', written by
- Larry and Randal Schwartz <merlyn@ora.com>, published as a Nutshell
- Handbook by O'Reilly & Associates and entitled _Programming Perl_.
- Besides serving as a reference guide for Perl, it also contains
- tutorial material and is a great source of examples and cookbook
- procedures, as well as wit and wisdom, tricks and traps, pranks and
- pitfalls. The code examples contained therein are available via
- anonymous FTP from ftp.uu.net in
- /published/oreilly/nutshell/perl/perl.tar.Z for your retrieval.
- Corrections and additions to the book can be found in the Perl man
- page right before the BUGS section under the heading ERRATA AND
- ADDENDA.
-
- If you can't find the book in your local technical bookstore, the book
- may be ordered directly from O'Reilly by calling 1-800-998-9938 if in
- North America and 1-707-829-0515. The book's ISBN is 0-937175-64-1.
-
- Autographed copies are *NO LONGER* available from TECHbooks --
- you'll have to nab the authors in person if you want one. Larry
- routinely carries around a camel stamp for just such an occasion.
-
- Reasonably substantiated rumor has it that there will be another Perl
- book out pretty soon, this one aimed more at beginners. Look for it
- from ORA towards the beginning of 93.
-
- Another ORA book by Randal Schwartz is scheduled for imminent
- release. It is entitled _Learning Perl_ (``The LLama Book'') and
- covers the basics of Perl in a tutorial fashion.
-
- Larry Wall has published a 3-part article on perl in Unix World
- (August through October of 1991), and Rob Kolstad also had a 3-parter
- in Unix Review (May through July of 1990). Tom Christiansen also has
- a brief overview article in the trade newsletter Unix Technology
- Advisor from November of 1989. You might also investigate "The Wisdom
- of Perl" by Gordon Galligher from SunExpert magazine; April 1991
- Volume 2 Number 4. The Dec 92 Computer Language magazine also
- contains a cover article on Perl, "Perl: the Programmers Toolbox".
-
- Many other articles on Perl have been recently published. If you
- have references, especially on-line copies, please mail them to
- the FAQ maintainer for inclusion is this notice.
-
- The USENIX LISA (Large Installations Systems Administration) Conference
- have for several years now included many papers of tools written in
- Perl. Old proceedings of these conferences are available; look in
- your current issue of ";login:" or send mail to office@usenix.org
- for further information.
-
- C. INTERNET
-
- For other examples of Perl scripts, look in the Perl source directory in
- the eg subdirectory.
-
- The site with the biggest repository of Perl scripts right now
- seems to be coombs.anu.edu.au [150.203.76.2]. That directory
- has an INDEX with over 300 lines in it, each describing what
- the script does. This is maintained by mark@coombs.anu.edu.au .
-
- Note: European users please use the mirror site on
- src.doc.ic.ac.uk[149.169.2.1 in
- /pub/computing/programming/languages/perl/coombs-scripts
- The link speed would be a lot better for all. Contact
- L.McLoughlin@doc.ic.ac.uk for more information. It is updated daily.
-
- Another source for examples, currently only for anonymous FTP, is on
- convex.com [130.168.1.1]. This contains, amongst other things,
- a copy of the newsgroup up through Aug 91, a text retrieval database
- for the newsgroup, a rather old and short troff version of Tom Christiansen's
- perl tutorial (this was the version presented at Washington DC USENIX),
- and quite a few of Tom's scripts. You can look at the INDEX file
- in /pub/perl/INDEX for a list of what's in that directory.
-
- The Convex and Ohio State archives are mirrored on uunet
- in /languages/perl/scripts-{convex,osu}.
-
- There's also a #Perl channel on IRC (Internet Relay Chat) where
- Tom and Randal have been known to hang out. That's real-time,
- free Perl support. What more can you ask? :-)
-
- D. REFERENCE GUIDE
-
- A nice reference guide by Johan Vromans <jv@mh.nl> is also available;
- It is distributed in LaTeX (source) and PostScript (ready to
- print) forms. Obsolete versions may still be available in TeX and troff
- forms, although these don't print as nicely. The official kit
- includes both LaTeX and PostScript forms, and can be FTP'd from
- ftp.cs.ruu.nl [131.211.80.17], file /pub/DOC/perlref-4.035.tar.Z.
- The reference guide comes with the O'Reilly book in a nice, glossy
- card format.
-
- E. PERL COURSES
-
- Various technical conferences, including USENIX, LISA, SUG, WCSAS, AUUG,
- FedUnix, and Europen have been sponsoring tutorials of varying lengths
- on Perl at their system administration and general conferences. You
- might consider attending one of these. These public classes are
- typically taught by Tom Christiansen <tchrist@usenix.com>. Both Tom
- and Randal Schwartz <merlyn@ora.com> also teach Perl at customer
- sites. Classes can run from one day up to a week ranging over a wide
- range of subject matter (most are two or three days), and can include
- lab time if you want; having lab time with exercises is generally of
- great benefit. Send us mail if your organization is interested in
- having a Perl class taught at your site, or if you'd like to know when
- the next public appearances are.
-
-
- 1.8) Can people who aren't on USENET receive comp.lang.perl as a digest?
-
- "Perl-Users" is the mailing list version of the comp.lang.perl
- newsgroup. If you're not lucky enough to be on USENET you can post to
- comp.lang.perl by sending to one of the following addresses. Which one
- will work best for you depends on which nets your site is hooked into.
- Ask your local network guru if you're not certain.
-
- Internet: PERL-USERS@VIRGINIA.EDU
- Perl-Users@UVAARPA.VIRGINIA.EDU
-
- BitNet: Perl@Virginia
-
- uucp: ...!uunet!virginia!perl-users
-
- The Perl-Users list is bidirectionally gatewayed with the USENET
- newsgroup comp.lang.perl. This means that VIRGINIA functions as a
- reflector. All traffic coming in from the non-USENET side is
- immediately posted to the newsgroup. Postings from the USENET side are
- periodically digested and mailed out to the Perl-Users mailing list. A
- digest is created and distributed at least once per day, more often if
- traffic warrants.
-
- All requests to be added to or deleted from this list, problems,
- questions, etc., should be sent to:
-
- Internet: Perl-Users-Request@Virginia.EDU
- Perl-Users-Request@uvaarpa.Virginia.EDU
-
- BitNet: Perl-Req@Virginia
-
- uucp: ...!uunet!virginia!perl-users-request
-
- Coordinator: Marc Rouleau <mer6g@VIRGINIA.EDU>
-
- 1.9) Are archives of comp.lang.perl available?
-
- Yes, although they're poorly organized. You can get them from the
- host ftp.ugcs.caltech.edu (131.215.128.204) to the file
- /pub/comp.lang.perl.tar.Z; this file was last modified on February 15,
- 1992, and is 8.9 megabytes long. Obviously, it's considerably out of
- date.
-
- These are currently stored in news- or MH-style format; there are
- subdirectories named things like "arrays", "programs", "taint", and
- "emacs". Unfortunately, only the first ~1600 or so messages have been
- so categorized, and we're now up to almost 15000. Furthermore, even
- this categorization was haphazardly done and contains errors.
-
- Both Larry and I have maintained archives of the nearly 19,000
- messages the newsgroup has seen since its inception. I'm currently
- looking for a home for them. It'll take about 100 megabytes, although
- I'm on a 16k/2k filesystem, and that might be reduced somewhat by one
- with smaller frags. Or perhaps I'll just get myself a new disk.
-
- They're just stored as regular files the way news does, so it's
- somewhat unmanageable.
-
- A more sophisticated query and retrieval mechanism is desirable.
- Preferably one that allows you to retrieve article using a fast-access
- indices, keyed on at least author, date, subject, thread (as in "trn")
- and probably keywords. Right now, the MH pick command works for this,
- but it is very slow to select on 18000 articles.
-
- If you're serious about this, your best bet is probably to retrieve
- the compressed tarchive and play with what you get. Any suggestions
- how to better sort this all out are extremely welcome.
-
- If you have a special request for a query on the old newsgroup
- postings, and make nice noises in my direction, I can run the query
- and send them to you. Algebraic queries are like "find me anything
- about this and that and the other thing but not this or whozits". I
- hope to put this in the form of a mailserver. Donated software would
- be fine. :-)
-
- The fast text-retrieval query system for this I'm currently using is
- Liam Quin's excellent lqtext system, available from ftp.cs.toronto.edu
- in /pub/lq-text* .
-
-
- 1.10) Is there a WAIS server for Perl?
-
- Rumor has it that there are WAIS servers out there for comp.lang.perl
- these days, but I haven't used them. Kevin Gardner <gardner@zinc.csb.yale.edu>
- offers the following: For WAIS server info, check on the gopher hole
- at mudhoney.micro.umn.edu, port 70. They've got a rather extensive
- list of WAIS servers at this gopher->WAIS gateway, including a c.l.p.
- archive server. I don't know how up to date the server actually is,
- as the articles I pulled up from there were all dated from '91.
-
- Bill Middleton <wjm@feenix.metronet.com> offers this:
-
- "I have setup a perl script retrieval service and WaisSearch here at
- feenix. To check it out, just point your gopher at us, and select the
- appropriate menu option. The WaisSearch is of the iubio type, which
- means you can do boolean searching. Thus you might try something
- like:
-
- caller
- ioctl and fcntl
- grep and socket not curses
-
- and other things to see examples of how other folks have done this
- or that. This service is still under construction, but I'd like to
- get feedback, if you have some time.
-
- There's also a WaisSearch into all the RFC's and some other fairly
- nifty stuff."
-
-
- 1.11) Is there a Perl port to machine FOO?
-
- Probably. Perl already runs on virtually all UNIX machines as well as
- quite a few non-UNIX ones. Chances are that if you're running a UNIX
- box, you simply need to run Configure and everything will be taken
- care of for you. For most UNIX machines, no porting is required.
-
- Perl comes with an elaborate auto-configuration script that allows Perl
- to be painlessly ported to a wide variety of platforms, including many
- non-UNIX ones. Amiga and MS-DOS binaries are available on
- jpl-devvax.jpl.nasa.gov [128.149.1.143] for anonymous FTP. Try to bring
- Perl up on your machine, and if you have problems, examine the README
- file carefully, and if all else fails, post to comp.lang.perl with
- a cross-posting to comp.sys.whatever; probably someone out there has
- run into your problem and will be able to help you.
-
- In the perl archive on coombs.anu.edu.au, you can consult the file
- /pub/perl/misc/perl.code.sources for information not contained below.
- It may also be more up-to-date as well.
-
- In particular, since they're so often asked about, here's some information
- for the MacIntosh from Matthias Ulrich Neeracher <neeri@iis.ethz.ch>:
-
- The most recent version of Perl for the Apple Macintosh using the
- MPW C compiler is available in:
-
- nic.switch.ch [130.59.1.40] software/mac/src/mpw_c
- ftp.eunet.ch [146.228.10.15] software/mac/perl
-
- The current version is 4.0.7 (despite the "7", it corresponds to
- patchlevel 36 in the Unix version) and is available in the above
- directories as
-
- Mac_Perl_407_src.sit.bin Sources
- Mac_Perl_407_tool.sit.bin MPW Tool
- Mac_Perl_407_appl.sit.bin Standalone Application (See below)
-
- There is a mailing list for discussing Macintosh Perl which can be
- reached at mpw-perl-request@iis.ee.ethz.ch
-
- Here's more, from Timothy Murphy <tim@maths.tcd.ie >
-
- I ported perl to the Mac, using Think C, a while ago. I've
- used it quite a lot since without problems.
-
- It is available from ftp.maths.tcd.ie in pub/Mac/perl.hqx .
- The source (as diffs from the standard source) is in the
- subdirectory pub/Mac/perl-4.035 .
-
- A Mac version of patch is also available in pub/Mac/patch.hqx
- with source in pub/Mac/patch-2.0 . Various other Mac ports of
- GNU programs can be found in the same place.
-
- They all use a small "ThinkCPosix" library containing various
- Unix-like functions, which again can be found in the same
- place.
-
- And here's some VMS information from Rao V. Akella
- <rao@moose.cccs.umn.edu>: (this appears to be an old port)
-
- You can pick up Perl for VMS (version 3.0.1.1 patchlevel 4) via
- anonymous ftp from ftp.pitt.edu [130.49.253.1] in the
- software/vms/perl subdirectory (there are two files there:
- perl-pl18.bck and perl-pl4.bck).
-
- There is also a v3.018 on info.rz.uni-ulm.de [134.60.1.125] or
- vms.huji.ac.il [128.139.4.3] in /pub/VMS/misc (information courtesy
- of Anders Rolff <rolff@scotty.eurokom.ie>).
-
- And here is a recent version for MS-DOS from Budi Rahardjo
- <rahard@ee.UManitoba.CA>, who says:
-
- I am collecting MS-DOS Perl(s) in ftp.ee.umanitoba.ca directory
- /pub/msdos/perl. Currently I received three versions of Perl v4.019
- and one of 4.010. (Tommy Thorn <tthorn@daimi.aau.dk> and Len Reed
- <holos0!lbr@gatech.edu>)
-
- There is now a 4.035 for 386 [DOS], Hitoshi Doi <doi@jrd.december.com>
- port, is available ftp.ee.umanitoba.ca as /pub/msdos/perl/perl386.zoo .
-
- Please contact the porters directly in case of questions about
- these ports.
-
-
- A new version of "bigperl4" has been uploaded to Simtel20 and mirror
- sites:
-
- pd1:<msdos.perl>
- BPERL2X.ZIP 32-bit Perl 4.0pl36 w/VM & Win 3.1 supt. (exe)
- BPERL2S1.ZIP 32-bit Perl 4.0pl36 w/VM & Win supt. (src 1/2)
- BPERL2S2.ZIP 32-bit Perl 4.0pl36 w/VM & Win supt. (src 2/2)
-
- For those of you who don't know what "bigperl4" is, here's the
- short description:
-
- BIGPERL4 is Perl 4.0pl36 that has been compiled using the Watcom C/386
- compiler (a 32-bit, flat-memory model C compiler), which gives this
- version the following features:
-
- * Up to 32MB of memory can be used.
- * Supports virtual memory.
- * Works under Windows 3.1 (however, a second copy of perl cannot
- be spawned under Windows).
- * The perl debugger can be used.
- * Contains GDBM support.
-
- A 386/486 with at least 4MB RAM is required, and a third-party memory
- manager such as QEMM is strongly recommended.
-
- BIGPERL4 also passes those perl tests that do not depend on Unix-isms.
- Full sources are included (including GDBM 1.5). Freeware and copylefted
- (in the case of GDBM 1.5).
-
- For a version that works on NT, FTP to rhino.microsoft.com
- (131.107.1.121) the port of Perl there purportedly works well and
- includes support for sockets from perl. The source builds out of the
- box and contains some NT specific tests.
-
-
- 1.12) How do I get Perl to compile on Solaris?
-
- John Lees <lees@pixel.cps.msu.edu> reports:
-
- I have built perl on Solaris 2.1, 2.2 beta, and 2.2 FCS. Take /usr/ucb
- out of your path and do not use any BSD/UCB libraries. Only -lsocket,
- -lnsl, and -lm are needed. You can use the hint for Solaris 2.0, but
- the one for 2.1 is wrong. Do not use vfork. Do not use
- -I/usr/ucbinclude. The result works fine for me, but of couse does
- not support a couple of BSDism's.
-
- Casper H.S. Dik <casper@fwi.uva.nl> reports
-
- You must remove all the references to /usr/ucblib AND
- /usr/ucbinclude. And ignore the Solaris_2.1 hints. They are wrong.
- The undefining of vfork() probably ahs to do with the confusion it
- gives to the compilers. If you use cc, you mustn't compile
- util.c/tutil.c with -O. I only used the following libs: -lsocket
- -lnsl -lm (there is a problem with -lmalloc)
-
- Michael D'Errico <mike@software.com> reports:
-
- If you are using Solaris 2.x, the signal handling is broken. If you set
- up a signal handler such as 'ripper' it will be forgotten after the first
- time the signal is caught. To fix this, you need to recompile Perl. Just
- add '#define signal(x,y) sigset((x),(y))' after the '#include <signal.h>'
- directive in each file that it occurs, then make it again.
-
-
- 1.13) How do I get Perl to compile on a Next?
-
- Bill Eldridge <bill@cognet.ucla.edu> reports:
-
- To get perl to compile on Nexts, you need to combine the
- ansi and bsd headers:
-
- cd /usr/include
- mkdir ansibsd
- cd ansibsd
- ln -s ../ansi
- ln -s ../bsd
-
- Then follow the configuration instructions for Nexts, *replacing*
- all mention of -I/usr/include/ansi or -I/usr/include/bsd with
- -I/usr/include/ansibsd.
-
- (There might be more elegant solutions, but this is how I
- did it, and it's quick and so far painless).
-
-
-
- 1.14) Where can I get (info|inter|ora|sql|syb)perl?
-
- Numerous database-oriented extensions to Perl have been written.
- These amount to using the usub mechanism (see the usub/ subdirectory
- in the distribution tree) to link in a database library, allowing
- embedded calls to Informix, Interbase, Oracle, Ingres, and Sybase.
- There is currently a project underway, organized by Buzz Moschetti
- <buzz@toxicavenger.bear.com>, to create a higher level interface
- (DBperl) that will allow you to write your queries in a
- database-independent fashion. If you're interested, send
- mail to <perldb-interest-request@vix.com> and ask to be placed on the
- perldb-interest@vix.com mailing list.
-
- Meanwhile, here are the authors of the various extensions:
-
- What Target DB Who
- -------- ----------- ----------------------------------------
- Infoperl Informix Kurt Andersen (kurt@hpsdid.sdd.hp.com)
- Interperl Interbase Buzz Moschetti (buzz@bear.com)
- Oraperl Oracle Kevin Stock (kstock@encore.com)
- Sqlperl Ingres Ted Lemon (mellon@ncd.com)
- Sybperl Sybase Michael Peppler (mpeppler@itf.ch)
-
- Here's a bit of advertising from Buzz:
-
- Perl is an interpreted language with powerful string, scalar, and array
- processing features developed by Larry Wall that "nicely bridges the
- functionality gap between sh(1) and C." Since relational DB operations
- are typically textually oriented, perl is particularly well-suited to
- manage the data flows. The C source code, which is available free of
- charge and runs on many platforms, contains a user-defined function entry
- point that permits a developer to extend the basic function set of the
- language. The DBperl Group seeks to exploit this capability by creating a
- standardized set of perl function extensions (e.g. db_fetch(), db_attach())
- based the SQL model for manipulating a relational DB, thus providing a
- portable perl interface to a variety of popular RDMS engines including
- Sybase, Oracle, Ingres, Informix, and Interbase. In theory, any DB engine
- that implements a dynamic SQL interpreter in its HLI can be bolted onto
- the perl front end with predicatable results, although at this time
- backends exist only for the aforementioned five DB engines.
-
- A copy of the latest sybperl (patch level 6) can be found in the DBperl
- archives on ftp.demon.co.uk:/pub/perl/db/sybperl
-
- This archive also contains ports for Ingres, Oracle, Sybase, Informix,
- Unify, Postgres, and Interbase, as well as rdb and shql; it's the home
- of the evolving DBperl API Specification.
-
-
- 1.15) Where can I get an SNMP-aware Perl?
-
- snmperl was written by Guy Streeter (streeter@ingr.com), and was
- posted in late February 1993 to comp.protocols.snmp. The author has
- not made it available for anonymous ftp, archie only reported one site:
-
- Host liasun3.epfl.ch
-
- Location: /pub/net/snmp
- FILE -rw-rw-r-- 3407 Aug 11 1992 snmperl.README
- FILE -rw-r--r-- 17678 Aug 11 1992 snmperl.tar.Z
-
- Here is the gist of the README:
-
- README $Revision: 1.1 $
-
- This directory contains the source code to add callable C subroutines
- to perl. The subroutines implement the SNMP functions "get",
- "getnext", and "set". They use the freely-distributable SNMP package
- (version 1.1b) from CMU.
-
- USE:
- There are four subroutines defined in the callable interface:
- snmp_get, snmp_next, snmp_set, and snmp_error.
-
- snmp_get and snmp_next implement the GET and GETNEXT operations,
- respectively. The first two calling arguments are the hostname and
- Community string. The IP address of the host, as a dotted-quad ASCII
- string, may be used as the hostname. The rest of the calling
- arguments are a list of variables. See the CMU package documentation
- for how variables may be specified.
- snmp_set also takes hostname and Community string as arguments. The
- remaining arguments are a list of triples consisting of variable name,
- variable type, and value. The variable type is a string, such as
- "INTEGER" or "IpAddress".
- snmp_get, snmp_next, and snmp_set return a list containing
- alternating variables and values. snmp_get and snmp_next will simply
- omit non-existent variables on return. snmp_set will fail completely
- if one of the specified variables does not exist (or is read-only).
- snmp_error will return a text string containing some error
- information about the most recent snmp_get|next|set call, if it had an
- error.
-
- OTHER NOTES:
- I didn't find all the places where the CMU library writes to stderr
- or calls exit() directly.
- The changes I made to mib.c involve the formatting of variable values
- for return to the caller. I took out the descriptive prefix so the
- string contains only the value.
- Enumerated types are returned as a string containing the symbolic
- representation followed in parentheses by the numeric.
-
- DISTRIBUTION and OWNERSHIP
- perl and the CMU SNMP package have their own statements. Read them.
- The work I've done is free and clear. Just don't say you wrote it if
- you didn't, and don't say I wrote it if you change it.
-
- Guy Streeter
- streeter@ingr.com
- April 1, 1992 (not a joke!)
-
-
- 1.16) There's an a2p and an s2p; why isn't there a p2c (perl-to-C)?
-
- Because the Pascal people would be upset that we stole their name. :-)
-
- The dynamic nature of Perl's do and eval operators (and remember that
- constructs like s/$mac_donald/$mac_gregor/eieio count as an eval) would
- make this very difficult. To fully support them, you would have to put
- the whole Perl interpreter into each compiled version for those scripts
- using them. This is what undump does right now, if your machine has it.
- If what you're doing will be faster in C than in Perl, maybe it should
- have been written in C in the first place. For things that ought to be
- written in Perl, the interpreter will be just about as fast, because the
- pattern matching routines won't work any faster linked into a C program.
- Even in the case of simple Perl programs that don't do any fancy evals, the
- major gain would be in compiling the control flow tests, with the rest
- still being a maze of twisty, turny subroutine calls. Since these are not
- usually the major bottleneck in the program, there's not as much to be
- gained via compilation as one might think.
-
-
- 1.17) Where can I get undump for my machine?
-
- The undump program comes from the TeX distribution. If you have TeX, then
- you may have a working undump. If you don't, and you can't get one,
- *AND* you have a GNU emacs working on your machine that can clone itself,
- then you might try taking its unexec() function and compiling Perl with
- -DUNEXEC, which will make Perl call unexec() instead of abort(). You'll
- have to add unexec.o to the objects line in the Makefile. If you succeed,
- post to comp.lang.perl about your experience so others can benefit from it.
-
- If you have a version of undump that works with Perl, please submit
- its anon-FTP whereabouts to the FAQ maintainer.
-
-
- 1.18) Where can I get a perl-mode for emacs?
-
- In the perl4.0 source directory, you'll find a directory called
- "emacs", which contains several files that should help you.
-
-
- 1.19) How can I use Perl interactively?
-
- The easiest way to do this is to run Perl under its debugger.
- If you have no program to debug, you can invoke the debugger
- on an `empty' program like this:
-
- perl -de 0
-
- (The more positive amongst us prefer "perl -de 1". :-)
-
- Now you can type in any legal Perl code, and it will be immediately
- evaluated. You can also examine the symbol table, get stack
- backtraces, check variable Values, and if you want to, set
- breakpoints and do the other things you can do in a symbolic debugger.
-
-
- 1.20) Is there a Perl shell?
-
- Not really. Perl is a programming language, not a command
- interpreter. There is a very simple one called "perlsh"
- included in the Perl source distribution. It just does this:
-
- $/ = ''; # set paragraph mode
- $SHlinesep = "\n";
- while ($SHcmd = <>) {
- $/ = $SHlinesep;
- eval $SHcmd; print $@ || "\n";
- $SHlinesep = $/; $/ = '';
- }
-
- Not very interesting, eh?
-
- Daniel Smith <dansmith@autodesk.com> is working on an interactive Perl
- shell called SoftList. It's currently at version 3.0beta. SoftList
- 3.0 has tcsh-like command line editing, can let you define a file of
- aliases so that you can run chunks of perl or UNIX commands, and so
- on. You can send mail to him for further information and availability.
- --
- Tom Christiansen tchrist@cs.colorado.edu
- Consultant
- Boulder Colorado 303-444-3212
-