Со стороны клиента:
Окошко появляется, если при доступе к узлу (требующему авторизации) в заголовке запроса (типа "GET index.html /HTTP 1.0 \n User= ...", читай протокол) нет юзернейма и пассворда. Очень легко это можно поставить с помощью LWP.
Со стороны сервера:
зачем вызывать с Перла если, это делает Apache-сервер? Хотя Вы можете так же генерить в ответ на обращение клиента HTML код с требованием авторизации. Читайте протокол.