The alternatives: Java

// The Java Way
import java.sql.*;
...
Class.forName("oracle.jdbc.OracleDriver");
String conn_url = "jdbc:oracle:thin:user/pass@machine:1521:sid";
Connection c = DriverManager.getConnection(conn_url);
ResultSet rs = c.getMetaData.getColumns(null, null, "table", "%");
while (rs.next()) {
  System.out.println(rs.getString("COLUMN_NAME"));
}
## The Perl way
use DBI;
...
$dbh = DBI->connect("dbi:Oracle:sid", "user", "pass");
$sth = $dbh->column_info(undef, undef, "table", "%");
$sth->execute();
while ($_ = $sth->fetchrow_hashref) {
  print $_->{COLUMN_NAME}, "\n";
}