Из предоставленной вами информации я предполагаю, что вы используете DBI для подключения к экземпляру Oracle (поскольку вы упомянули sqlplus).
Если вы хотите «готовое» решение, как вы указали, лучше всего использовать «yasql
» (еще один SQLplus) для базы данных на базе DBD :: Oracle для Oracle.
В yasql есть замечательная функция, позволяющая написать оператор выбора sql и перенаправить вывод в файл CSV непосредственно из его оболочки (вам нужен Text :: CSV_XS), установленной для этого.
С другой стороны, вы можете свернуть свой собственный скрипт с помощью DBD :: Oracle и Text :: CSV_XS . После того, как ваши дескрипторы операторов подготовлены и выполнены, все, что вам нужно сделать, это:
$csv->print ($fh, $_) for @{$sth->fetchrow_array};
Предполагается, что вы инициализировали $ csv с табуляцией в качестве разделителя записей. Подробнее см. Text :: CSV_XS Документация