I'll not give you concrete Apache config because
(1) I cannot test it from my environment
(2) I do not wish to encourage excessive spoon-feeding
Using authentication is a pretty basic area of Apache administration. You should be able to dig it up from other resources for exact details. I'll just give you pointers.
The main idea is, you first need to select the authentication mechanism - basic or digest authentication.
If your pages are served over HTTPS, that having a password essentially unencrypted will not be captured by eavesdropping, you can probably get by using basic authentication:
mod_auth_basic - Apache HTTP Server
If you need a bit more security, but a bit more tedious to set up, use digest authentication:
mod_auth_digest - Apache HTTP Server
Then you just plug one of the password stores for use with the authentication, in your case the LDAP one. You will then need configuration specific to LDAP.
This page essentially covers most of what you should know (concepts - you will need to find LDAP-specific info in other pages):
Authentication, Authorization and Access Control - Apache HTTP Server
Finally, in your Perl pages, check the REMOTE_USER environment variable. According to the
CGI Specification, Apache should pass this username to you in case the user has been authenticated successfully. Do confirm this yourself.
If you use CGI object, you may retrieve it by $cgi->remote_user().