IPTCInfo
Для начала, к ITPC можно обратиться
#!/usr/bin/perl
use Image::IPTCInfo;
$info = create Image::IPTCInfo("/img/a.jpg");
или
$info = new Image::IPTCInfo("/img/a.jpg");
В чем разница между create и new? В том что если create то вы можете и читать и изменять данные, с new лишь читать.
Теперь после чтения или изменения
$info->Save();
или
$info->SaveAs('new-file-name.jpg');
однако разработчик библиотеки советует при сохранении использовать копии фотографий, снимая с себя ответственность за их сохранность (I’m not liable for any corruption of your images.)