#!perl -w use strict; use warnings; use CGI; use Net::LDAP; my $cgi = new CGI; if (!$cgi->params){displayform} else{lookup()} sub displayform { print $cgi->header, $cgi->start_html, $cgi->start_multipart_form, '', '
', 'Enter Surname', '', $cgi->textfield(-name=>'sn'), '
', $cgi->submit, '
', $cgi->end_form, $cgi->end_html; } sub lookup { print $cgi->header, $cgi->start_html; my $ad = Net::LDAP->new('127.0.0.1'); my $result = $ad->bind(dn=>'username',password=>'password'); if ($result->code) { die $result->error; } my $searchresult = $ad->search( filter => "(sn=".$cgi->param('sn').")", basedn => "ou=container, dc=companyname,dc=net", scope => "sub" ); if ($searchresult->code) { die $searchresult->error; } if ($searchresult->count == 0) { print "No matches"; } else { for my $entry ($searchresult->entries) { print $entry->get('sn').", ".$entry->get('givenName')." - ".$entry->get('telephoneNumber')."
"; } } print $cgi->end_html; }