open(PIPEWRITE, '|./program') or die "Can't start pipe: $!"; print PIPEWRITE for @array; close PIPEWRITE or die "Cant't close pipe: $!"; #### open(PIPEWRITE, '|./program > output'); #### use IPC::Open2; my $pid = open2(\*RDRFH, \*WTRFH, './program'); print WTRFH @{$mail[0]}; close WTRFH; waitpid $pid, 0; my @array = ; close RDRFH;