Hola amigos estoy atorado en esto,

REsulta que realizaron un formulario sencillo el cual solo hace envios por email, ahora me pidieron que adicionara un campo de archivo el cual a la hora de ponerlo vi que el metodo de envio es por post oviamente pero quien cacha las variables un archivo .pl osea perl. OSEA DEL METODO CGI yo no,lo habia usado :shock:

les muestro el lado backend del archivo .pl

Código :

#!/usr/bin/perl -w

use CGI::Carp qw(fatalsToBrowser);
use Encode;

#############################
# Tratar datos de entrada
#############################
my($buffer,@pairs,$pair,$name,$value,%FORM);
read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
if (length($buffer) < 5) {
  $buffer = $ENV{QUERY_STRING};
}
@pairs = split(/&/, $buffer);
foreach $pair (@pairs) {
  ($name, $value) = split(/=/, $pair);
  $value =~ tr/+/ /;
  $value =~ s/%0D%0A/<br>/g;
  $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
  $FORM{$name} = decode("utf8",$value);
}

print "Content-type:text/html\n\n";

#
$url = 'http://www.pagina.com/extras';
$link_home = 'http://www.pagina.com/sitio';

validarDatosFormulario();

#############################
# Validar datos formulario
#############################
sub validarDatosFormulario {

  }

  # Tratar campos formulario principal / giro - tama�o
  $FORM{'GT_Certificaciones'} =~ s/<br>/\n/g;
  #$FORM{'GT_Certificaciones'} = decode("utf8",$FORM{'GT_Certificaciones'});

  # Tratar campos formulario includes / auditor�a
  $FORM{'AUD_Observaciones'} =~ s/<br>/\n/g;
  #$FORM{'AUD_Observaciones'} = decode("utf8",$FORM{'AUD_Observaciones'});

  # Enviar solicitud
  $mailprogram='/usr/lib/sendmail -t'; # Ruta sendmail
  $para = "user\@pagina.mx";
  $de = "$FORM{'DC_EMail1'}";

  # Enviar recomendaci�n
  $ENV{PATH}='';
  open (MAIL,"|$mailprogram");
  print MAIL "To: $para\n";
  print MAIL "From: $de\n";
  print MAIL "Subject: Formulario de inscripciones - Idea FSI\n";
  print MAIL "Comentario enviado desde :\n\n";
  print MAIL "===============================================\n";
  print MAIL "= DATOS DE CONTACTO\n";
  print MAIL "===============================================\n";
  print MAIL "Nombre de quien llena el formato de solicitud: $FORM{'DC_Nombre_Persona'}\n";
  print MAIL "EMail: $FORM{'DC_EMail1'}\n";
  #print MAIL "En cas....\n\n";
  #print MAIL "Empresa: $FORM{'DC_Empresa'}\n";
  #print MAIL "Contacto: $FORM{'DC_Contacto'}\n";
  #print MAIL "EMail: $FORM{'DC_EMail2'}\n";
  print MAIL "===============================================\n\n";

  print MAIL "===============================================\n";
  print MAIL "= DIRECCION\n";
  print MAIL "===============================================\n";
  print MAIL "Calle: $FORM{'DIR_Calle'}\n";
  print MAIL "Numero: $FORM{'DIR_Numero'}\n";
  print MAIL "Colonia: $FORM{'DIR_Colonia'}\n";
  print MAIL "Ciudad: $FORM{'DIR_Ciudad'}\n";
  print MAIL "Estado: $FORM{'DIR_Estado'}\n";
  print MAIL "CP: $FORM{'DIR_CP'}\n";
  print MAIL "País: $FORM{'DIR_Pais'}\n";
  print MAIL "Teléfono 1: $FORM{'DIR_Telefono1'}\n";
  print MAIL "Teléfono 2: $FORM{'DIR_Telefono2'}\n";
  print MAIL "Página: $FORM{'DIR_Pagina'}\n";
  print MAIL "===============================================\n\n";

  }

  close MAIL;

  mensajeHTML("Gracias","La informaci&oacute;n ha sido enviada correctamente.");

}


Lo que debo hacer es cachar el archivo adjunto para poderlo enviar por email.

a diferencia de que no habia usado senmail por CGI realmente no veo como poner las sitaxis para agregar el file o el attachment send

ojala sepa alguien que haya usado este metodo para enviar correo.

saludos