my ($dbh, $dbu) = DBIx::BulkUtil->ora_connect( Database => $database, User => $user, Password => $pw, ); # Assuming two column table # Default is "|" column delimited, "\n" row delimited my @rows = qw( abc|def ghi|jkl ); sub insert_row { my $data = shift @rows or return; return $data . "\n"; } $dbu->bcp_in($table, '-', { Stdin => \&insert_row, }); $dbh->disconnect();