Для того, чтобы отправить из cgi-скрипта письмо с прикреплённым к нему файлом, необходимо воспользоваться perl-модулем MIME::Lite.
Пример:
#!/usr/local/bin/perl use MIME::Lite; ### Create a new multipart message: $msg = MIME::Lite->new( From =>'address1@peterlink.ru', To =>'address2@peterlink.ru', Cc =>'address3@peterlink.ru', Subject =>'A message with 2 parts...', Type =>'TEXT', Data =>"Здесь текст письма" ); ### Attach a part: $msg->attach(Type =>'image/gif', Path =>'somedir/image.gif', Filename =>'image.gif' ); MIME::Lite->send("sendmail", "/usr/sbin/sendmail -t"); $msg->send();