my $cmd = "/usr/bin/nmap " . $self->settings . " -oX " . $self->reportfile . " -v " . $self->target . " |"; close STDOUT; open(F, $cmd); my $buf = ""; while(){ $buf .= $_; #do something here }