use strict; pipe (parent, child) or die "Can't open pipe: $!\n"); if (fork == 0) { #Test to see if parent or child close parent; select child; $| =1; #do your stuff here output should be written to parent exit 0; } #If we get here we are the parent process close child; print while ; #this is to show the output coming from the child you should then store this data to your prefernce. exit 0;