Article 4463 of comp.lang.perl: Xref: feenix.metronet.com comp.lang.perl:4463 Newsgroups: comp.lang.perl Path: feenix.metronet.com!spssig.spss.com!uchinews!vixen.cso.uiuc.edu!sdd.hp.com!swrinde!cs.utexas.edu!geraldo.cc.utexas.edu!portal.austin.ibm.com!awdprime.austin.ibm.com!exeter.austin.ibm.com!woan From: woan@exeter.austin.ibm.com (Ronald S. Woan) Subject: Need Info on PERL, ORAPERL and CORAPERL Sender: news@austin.ibm.com (News id) Message-ID: Date: Fri, 23 Jul 1993 03:36:03 GMT Reply-To: woan@cactus.org References: <1993Jul22.161129.15438@lmpsbbs.comm.mot.com> Organization: Austin School of Hardknocks Lines: 193 curseperl came with the 4.036 distribution I picked up in the usub subdirectory. Here's some info on oraperl: From: dtb@otto (David Bath) Subject: FAQ for ORAPERL Summary: Commonly asked questions and answers for oraperl Keywords: oraperl perl oracle faq Message-ID: Date: 28 Feb 93 04:44:55 GMT Reply-To: dtb@otto.bf.rmit.oz.au Organization: RMIT Computer Centre Lines: 188 NNTP-Posting-Host: otto.bf.rmit.oz.au Hi folks, For those of you thinking of using oraperl, here is the FAQ I received from Kevin. In case you do not know, perl is a *hot* language that does not require compilation (it compiles in memory before running, so it is FAST) that combines almost all the standard C library functions available on your box, the abilities of the UNIX shell and sed all rolled into one language. Perl was written by Larry Wall and is available from most GNU archives. If your questions are for perl rather than the oraperl extensions, try the comp.lang.perl newsgroup. Regards, David ---- dtb@otto.bf.rmit.oz.au Hello David, > 2. oraperl/coraperl FAQ would be GREAT (I'd love one myself) OK, here's my first shot at an Oraperl FAQ. I don't think it's too self-serving. Let me know what you think; I'm happy to change, rewrite, add, remove or whatever. Kevin Frequently Asked Questions for Oraperl ______________________________________ What is Oraperl? ---------------- According to Buzz Moschetti, "Oraperl sounds like a denture cleaner". For the rest of us, it's a version of Perl which has been extended to manipulate Oracle databases. Is Oraperl public domain, shareware, or what? --------------------------------------------- Oraperl is Freeware; that is, its author retains copyright (so it isn't public domain) but allows free distribution, under the same terms as Perl. It isn't shareware, because you don't have to pay to use it. Will Oraperl work with {Dbase, Infomix, Ingres, Interbase, Sybase, ...} ----------------------------------------------------------------------- No. Versions of Perl do exist for some of these databases; ask in comp.databases or comp.lang.perl for help. A project is under way to create a unified programming interface for all SQL databases, but there's a lot of work to do before it is available. Will Oraperl run on my system? ------------------------------ At present, Oraperl is known to run on the following systems: Amdhal UTS Convex Encore Multimax, Oracle v6.0.27, Perl 3.0.27 - 4.0.35 NeXT Prime EXL MBX Sys V.3.1, Oracle 6.0.26 Pyramid (ATT Universe), MIPS (SysVr4) Sparcstation Sperry 500/80 Sys V.3.1, Oracle v5.1, Perl 4.0.3 Sun 4/280, Oracle 6.0.30 SunOS 4.1.1 Ultrix, Oracle v5 but if you can build Perl, you can almost certainly build Oraperl. Oraperl is distributed as source, so you build it yourself (or get a friendly system administrator to do it). You need the following on your system to build it: C compiler Perl source Oracle Call Interface (part of the Pro*C package) Where can I get Oraperl? ------------------------ Oraperl version 2 appeared in the comp.sources.misc newsgroup as follows: v30i087-091 Part 01-05 29th June 1992 v30i099 Patch 01 6th July 1992 v32i093 Patch 02 4th October 1992 v32i021 Patch 03 12th December 1992 You should be able to find it at any comp.sources.misc archive site. One such site in the US is wuarchive.wustl.edu [128.252.135.4]. Look in the directory /usenet/comp.sources.misc/volume30/oraperl-v2. You also need the Perl sources. These are also in the comp.sources.misc archives. Contact Larry Wall if you need help finding them. I tried building Oraperl, but cc says "Redeclaration of sprintf in perl.h" Oraperl compiled OK, but the tests dump core Oraperl compiled and seems to run OK, but I don't get any output Oraperl compiled OK, but {something weird} happens -------------------------------------------------------------------------- You are probably running a dual universe ATT/BSD system and you configured Perl under BSD. Oracle programs have to be built under the ATT universe, so you will have to create an ATT version of uperl.o to link to Oraperl. Copy the Perl sources to a different directory and build uperl.o there. I tried building Oraperl, but cc says "Undefined: _my_setenv" ------------------------------------------------------------- You are running an old version of Perl, which doesn't have my_setenv(). If possible, you should upgrade to the latest version. If you can't do so, you could try adding one of the following to the start of orafns.c: If your system uses setenv(var, value) : #define my_setenv(var, value) set_env(var, value) If your system uses putenv(envstring) : void my_setenv(var, value) char *var, *value; { static char *envstr = NULL; if (envstr == NULL) { if ((envstr = (char *) malloc(1024)) == NULL) { return; } else { sprintf(envstr, "%s=%s", var, value); putenv(envstr); } } else { sprintf(envstr, "%s=%s", var, value); } } When I try to build Coraperl, I get messages about undefined functions ---------------------------------------------------------------------- You are probably trying to link Oraperl with the BSD curses routines. If you are on a dual universe system, you should use the ATT routines. If you are on a BSD-only system, then you need to modify the file bsdcurses.mus in $(SRC)/usub. You should #ifdef out the references to testcallback . Whenever I try to fetch a DATE or ROWID field, I get a truncation error ----------------------------------------------------------------------- This is due to a bug in early versions of Oraperl. You should upgrade to the latest version. If you cannot upgrade, you may be able to work round the problem with DATE fields by calling the SQL function TO_CHAR() in your SELECT statement. -- David T. Bath | Email:dtb@otto.bf.rmit.oz.au (131.170.40.10) Senior Tech Consultant | Phone: +61 3 347-7511 TZ=AEST-10AEDST-11 Global Technology Group | 179 Grattan St, Carlton, Vic, 3153, AUSTRALIA "The robber of your free will does not exist" - Epictetus -- +------All Views Expressed Are My Own And Not Necessarily Shared By IBM-----+ + Ronald S. Woan (IBM VNET)WOAN AT AUSTIN, woan@exeter.austin.ibm.com + + outside of IBM woan@austin.ibm.com or woan@cactus.org + + others woan@soda.berkeley.edu Prodigy: XTCR74A Compuserve: 73530,2537 +