Hi all,
Is it possible to read the output of SQLPLUS (Oracle) directly into a hash array? I
don't have DBI installed so this is not an option. Currently, I am dumping the data
to a spool file, then reading the file into the hash. I'd like to skip the file I/O
step if possible.
#--- beginning of script
#!/usr/bin/perl -w
use strict;
my $f1 = "";
my $f2 = "";
my $oraId = "mylogid";
my $oraPw = "mypasswd";
my $spoolFile = "$0.tmp";
my $queryFile = "myscript.sql";
my $sql = "select fieldA, fieldB from mytable;\n";
open QUERY, ">$queryFile" or die "Cannot create SQL script: $!\n";
print QUERY $sql;
close QUERY;
open ORA, "| sqlplus -s $oraId/$oraPw \@myscript > $spoolFile" or die "Cannot pipe
to sqlplus: $!\n";
close ORA;
open SPOOL, "<$spoolFile" or die "Cannot open spool file: $!\n";
while (chomp(my $line = <SPOOL>) ) {
last if (eof(SPOOL));
$f1 = $f2 = "";
next if ((!defined $line) || $line eq "" );
($f1, $f2) = split /\s*/, $line;
# I expect $f1 to be any single alpha character, $f2 a number
next unless ($f1 =~ /^[A-Z]$/ && $f2 =~ /\d/);
$myarray{"$f1"} = $f2;
}
close SPOOL;
#--- end of script
Thanks in advance,
Jeff
__________________________________________________
Do You Yahoo!?
Yahoo! - Official partner of 2002 FIFA World Cup
http://fifaworldcup.yahoo.com
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]