#!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;
}