#!/usr/bin/perl -w
DBI->trace(
shift
)
if
1 <
@ARGV
&&
$ARGV
[0] =~ /^-
die
"syntax: $0 [-# trace] base user pass"
if
3 >
@ARGV
;
my
(
$inst
,
$user
,
$pass
) =
@ARGV
;
my
$dbh
= DBI->
connect
(
"dbi:Oracle:$inst"
,
$user
,
$pass
,
{
AutoCommit
=> 0,
RaiseError
=> 1,
PrintError
=> 0 } )
or
die
$DBI::errstr
;
$dbh
->
do
(
"CREATE TABLE japh ( word CHAR(7), posn NUMBER(1) )"
);
my
$sth
=
$dbh
->prepare(
"INSERT INTO japh VALUES ( ?, ? )"
);
while
( <DATA> ) {
chomp
;
$sth
->execute(
split
':'
,
$_
);
}
$sth
=
$dbh
->prepare(
"SELECT word FROM japh ORDER BY posn"
);
$sth
->execute;
my
$word
;
$sth
->bind_columns( {}, \
$word
);
$sth
->{ChopBlanks} = 1;
while
(
$sth
->fetch ) {
print
" $word"
;
}
$sth
->finish;
print
"\n"
;
$dbh
->
do
(
'DROP TABLE japh'
);
$dbh
->disconnect;