Could you perhaps show us how you run it from the command line?
This piece of code doesn't seem to do much yet (is it meant to be pseudo code?)
Things to think about:
Presumably where you have:
# path to program
my $prog = '/local/path/to/cgi-bin/executableprog';
open(PROG, "| $prog") || die "Can't run '$prog': $!\n";
print PROG "$file\n";
my $pid = open PIPE, "-|";
PIPE and PROG were meant to be talking about the same process?
What's the stuff for a fork for? you're probably better off not worrying about forking (which is a little complex) until you get the basics of reading and writing files and running programs mastered.
exec PROG or die "Cannot open pipe to executableprog: $!";