Начните со знакомой загрузки INPUT в HTML-форме и убедитесь, что тег HTML-формы имеет параметр enctype="multipart/form-data"
Ваш Catalyst :: Request объект ($c->request
) предоставляет два метода для доступа к файлам и управления ими.
Каждое поле загрузки файла будет создаваться как объект Catalyst :: Request :: Upload .
$c->request->upload
вернет объект Upload в скалярной форме или в виде списка.
$c->request->uploads
вернет ссылку на хэш объектов Upload.
Объект Upload предоставляет несколько методов для сохранения и копирования файлов.
Посмотрите справочные страницы, на которые я ссылался выше.