LOAD DATA INFILE '\\.\pipe\sql_pipe\' REPLACE INTO TABLE my_table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' (col1,col2,col3,col4) #### use strict; use Win32::Pipe; $|=1; # autoflush for messages my $pipe_name = "sql_pipe"; my $pipe = new Win32::Pipe($pipe_name)|| die "Can't Create Named Pipe: $!\n"; open(my $ldr,"|sqlldr.exe a/b\@c control=control.ctl log") || die "Unable to execute sqlldr: $!"; $pipe->Connect(); #... do something interesting to get data, and probably loop $pipe->Write(join(",",$1,$2,$3,$4)."\n"); #... $pipe->Disconnect(); $pipe->Close(); close $ldr;