#!/usr/bin/perl use warnings; use strict; use IPC::Open3; $|=1; my $pid=open3(\*IN,\*OUT,0,'ls -la'); #getresult while() { print; if(eof(OUT)) { goto GOLAST; } } GOLAST: close IN; close OUT;