Re: [INTERFACES] Perl Interface

From: "Ken J(dot) Wright" <ken(at)ori-ind(dot)com>
To: pgsql-interfaces(at)postgreSQL(dot)org
Subject: Re: [INTERFACES] Perl Interface
Date: 1999-06-22 18:23:05
Message-ID: 3.0.1.32.19990622112305.00a78cb0@ori-ind.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

> help. I am planning to port our applications over to C but... that's a
> several month job. I'm looking for a quick fix here to buy me some
> time. The other side of that is C is not my preferred language of
> choice... I do pascal and perl.

See the Free Pascal page. A great cross-platform compiler, both Borland
Pascal & Delphi compatible.

http://tfdec1.fys.kuleuven.ac.be/~michael/fpc/

On the contributed units page, you will find a postgres unit, which is a
pascal wrapper for libpq (postgres 'c' library). I have been using this for
about a year now on Linux. Works wonderfully and allows me to stay with the
language of my choice ;-). GPC is another cross-platform compiler more
focused on portability than FPC. It can also wrap 'c' libraries, but I have
no experience with it yet.

Cheers!

Ken

>
> I am not clear yet as how to navigate multiple rows on the recordset
> return using the pg method. Ideally I want to put all the results into
> an array like this:
> username|password|lastname
> marty|next|Robinson
> mel|foreman|Johnson
>
> The <$ret = $result->fetchrow> function only returns a portion of the
> row.
>
> I have created a lttle subroutine using the getvalue method that
> iterates thru each row and pushes it into an array. This will work for
> now. However I am curious, is there another, more simpler method to
> accomplish this?
>
> Thanks,
>
> -Rob
>
> ############################
> # Subroutine #
> ############################
>
> $query = "Select username,password,knickname,emailaddy,forward,ip,date
> from temp";
> $conn = Pg::connectdb("dbname=$dbname");
> $result = $conn->exec($query);
> $tuples = $result->ntuples;
> $fields = $result->nfields;
> $count = 0;
> while ($count < $tuples ) {
> $fieldcount = 0;
> for ($fieldcount = 0;;$fieldcount++) {
> $entry .= $result->getvalue($count,$fieldcount);
> if ($fieldcount != $fields) {
> $entry .= "\|";
> }
> else {
> last;
> }
> }
> push(@set,$entry);
> $entry="";
> $count++;
> }
>
> for $member (@set) {
> print "$member\n";
> }
>
> ###########################
> When run it produces this output. We need to keep this format for
> existing scripts.
>
> marty|marty|fghu|sdfg(at)fghj|t|208.130.70.9|Tue Jun 22 00:09:34 1999 CDT
> marty1|marty|fghu|sdfg(at)fghj|f|208.130.70.9|Tue Jun 22 00:10:18 1999
> CDT
>
>
>

In response to

  • Perl Interface at 1999-06-22 18:46:33 from robert_hiltibidal_at_cms08405

Browse pgsql-interfaces by date

  From Date Subject
Next Message James Olin Oden 1999-06-22 18:24:14 Re: [INTERFACES] Perl Interface
Previous Message robert_hiltibidal_at_cms08405 1999-06-22 18:16:47 No subject given