Для зеркального отображения файла или каталога с удаленного сервера сценарий должен быть вызван с параметром командной строки, состоящим из доменного имени удаленного сервера, двоеточия и пути к файлу или каталогу, для которого должно быть выполнено зеркальное отображение.
Далее рассказано как выполнить зеркальное отображение каталога, рекурсивно копируя структуру удаленного каталога в текущий локальный рабочий каталог (это можно проверить на практике, имея быстрое сетевое соединение и большой объем свободного дискового пространства).
Опции командной строки сценария включают user и pass, в которых можно ввести имя пользователя и пароль для приватных FTP-серверов; verbose, позволяющую получить подробный отчет о состоянии; и hash, которая предусматривает вывод знаков диеза во время передачи файла. При этом выполняется загрузка модуля Net::FTP, а также модулей File::Path и Getopt::Ldng. Модуль File::Path предоставляет процедуру mkpath () для создания подкаталога со всеми промежуточными каталогами, а модуль Getopt::Long — применяется для обработки параметров командной строки.
Обработка параметров командной строки. Обрабатываются параметры командной строки и используются для установки различных глобальных переменных. Имя хоста и имя каталога или файла, для которого должна быть создана зеркальная копия, записываются соответственно в переменных $host и $path.
Инициализация соединения FTP. Вызывается метод Net::FTP->new() для подключения к требуемому хосту и метод login () для регистрации на нем. Если параметры командной строки не включают имя пользователя и пароль, предпринимается попытка выполнить анонимную регистрацию. В ином случае для регистрации применяется указанная информация аутентификации.