open EXT,"|extprog"; while (<>){ @data = conv_data($_); print EXT "$data[0] $data[1]\n"; } close EXT; #### $run = "mapproject -F --D_FORMAT=\%lf -I --ELLIPSOID=HELMERT1906 -Jt31/30/1:1 -R31/40/30/39 --MAP_SCALE_FACTOR=1.0000 "; open FH, " below } else { # I am the kid if ( $pid1 = open STDIN, "-|" ) { # I am still the kid, but my STDIN is now piped from the grandkid exec "$run"; } else { # I am the grandkid: be a data pump while () { print "$_\n"; } exit 0; } } while () { print $_; }