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: <CALM04.1KKE@austin.ibm.com>
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: <dtb.730874695@otto>
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 <lwall@netlabs.com> 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 +


