#!/usr/bin/perl

use strict;
use Net::LDAP;

# Search LDAP server to convert CRSID into full name
sub crsid2fullname {
    my ($crsid) = @_;
    my ($fullname, $ldap, $mesg);

    $ldap = Net::LDAP->new('ldap.cl.cam.ac.uk') or die "$@";
    $ldap->bind;
    $mesg = $ldap->search(base => 'dc=cl,dc=cam,dc=ac,dc=uk',
			  filter => "(uid=$crsid)");
    die $mesg->error unless $mesg->code == Net::LDAP::LDAP_SUCCESS;
    return undef unless $mesg->count > 0;
    $fullname = $mesg->entry(0)->get_value('cn');
    $ldap->unbind;
    return $fullname;
}

die("Usage: getrealname loginname\n") unless @ARGV;
print crsid2fullname($ARGV[0]) . "\n";
