$DBH=DBI->connect($task->{$DATA_SOURCE},$task->{$USERNAME},$task->{$PASSWORD}, { HandleError=>Exception::Class::DBI->handler,LongReadLen=>4096,PrintError=>1,RaiseError=>1 }); ################################################### # A Allocate some memory for dbms_output to use! $DBH->func(1_000_000,'dbms_output_enable'); my $SQL=<<"_SQL_"; -- SELECT ... as something FROM ...-- no ";" _SQL_ $DBH->do(<<"_SQL_"); BEGIN dbms_metadata.set_transform_param(dbms_metadata.session_transform,'PRETTY',true); dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SQLTERMINATOR',true); dbms_metadata.set_transform_param(dbms_metadata.session_transform,'STORAGE',false); FOR row IN ($SQL) LOOP -- use dbms_output.put_line to stash the results dbms_output.put_line(row.something); END LOOP; END; _SQL_ # Get the contents stashed in dbms_output my @lines=$DBH->func('dbms_output_get'); # Do something useful with @lines ################################################### $DBH->disconnect;