Ok your probally doing something like this:
open (CSVFILE, input.csv);
while (!eof(CSVFILE)) {
$currLine = <CSVFILE>;
split /\,/, $currLine, @curline;
dbi_sub (@currline);
}
where dbi_sub will feed that to your stored proc. Now as said before I would just have oracle do this make a PL/SQL function that takes a single varchar(255) as a parameter, being the name of the textfile and read it in. But another method would be to pass the $currLine that contains a string of parameters seperated by commas and have your stored procedure parse it. But you never answered the $25,000 question, why aren't you having oracle do this for you. It can and more effecietly than perl probally, but then again the great stored procedures debate is something for the grand council of DB admin and RDMS coder wizards to debate.