use IPC::Open2; my @ldapsearch = qw(ldapsearch -r); my @userdncmd = (@ldapsearch, -h => $ldapserver, -b => 'dc=xxx,dc=com', 'employeenumber=' . $id, 'dn'); my ($rdrfh, $wtrfh); my $pid = open2($rdrfh, $wtrfh, @usrdncmd); close $wtrfh; # don't need to write to the stdin of ldapsearch my $userdn = do { local $/ = undef; <$rdrfh> }; chomp $userdn;