use IPC::Open3 qw( open3 ); { open(local *FR_NULL, '<', '/dev/null') or die; open(local *TO_NULL, '>', '/dev/null') or die; my $pid = open3('<&FR_NULL', '>&TO_NULL', undef, $command, @arguments); waitpid($pid, 0) or die; }