### Forte.pm package Forte; use LWP::UserAgent; $ENV{HTTPS_VERSION} = '3'; $ENV{HTTPS_CERT_FILE} = "some.crt"; $ENV{HTTPS_KEY_FILE} = "some.key"; sub callforte { ... my $ua = new LWP::UserAgent; my $req = new HTTP::Request("POST", "$url"); ... my $res = $ua->request($req); ... } #------------------------------------------ ### LDAP.pm package LDAP; use Net::LDAPS; sub LDAP_connect { .... my $conn = new Net::LDAPS($LDAPhost, port=>$LDAPport, clientcert=>$cert, clientkey=>$key); .... } sub get_student_number { LDAP_connect(); ... my $entry = $conn->search(filter=>"(uid=$username)", base=>$base, attrs=>[qw/studentnumber/]); if($entry->code()) { html_error("Search for student ID for [$username] failed:". $entry->code() . "\n"); return 0; } ... return $entry->{attrs}{studentnumber}[0]; } #------------------------------------------ #### application use Forte; use LDAP; # test for connection to db: $return = Forte::callforte($url, $input); ... if($using_portal) { # get student number $student_number = LDAP::get_student_number($username); }