use strict; use warnings; use Net::LDAP; # binmode STDOUT, ':utf8'; # <- If this is active, output is corrupted my $ldap_host= '...myhost...'; my $ldap_port= ...myport...; my $ldap_user= '...myuser...'; my $ldap_pass= '...mypass...'; my $ldap = Net::LDAP->new( $ldap_host, port => $ldap_port, raw => qr/(?i:^jpegPhoto|;binary)/, ) or die "$@"; my $mesg = $ldap->bind( $ldap_user, password => $ldap_pass, ); if ($mesg->is_error) { die $mesg->error_text; } $mesg= $ldap->search( base => '...mybase...', filter => 'uid=...myuser...', attrs => [ qw/ cn / ] ); if ($mesg->is_error) { die $mesg->error_text; } my $result= $mesg->as_struct; while (my($id, $data)= each %$result) { print $data->{'cn'}->[0], "\n"; } $ldap->unbind;