in reply to PIPE problem

The range operator is .. , not . , so I think you you want 1..3 and 1..10.

Also, in your close PIPE or die, be aware that close on a pipe doesn't always set $!. perldoc -f close gives example:

close OUTPUT # wait for sort to finish or warn $! ? "Error closing sort pipe: $!" : "Exit status $? from sort";
Update: changing both scripts to use .. instead of . and removing the extra stuff before #!/usr/bin/perl in net.pl gives this output:
$ perl -w net1.pl Writing line 1 Read_three,got This is line number 1 Writing line 2 Read_three,got This is line number 2 Writing line 3 Read_three,got This is line number 3 Writing line 4 An error occured during writing :Broken pipe at net1.pl line 14. Wrote 3 lines of text
which looks to me like what you should be expecting. If you have other expectations, please share them so others can help you further.

Update: also added a -w to net2.pl's shebang line