Página 1 de 1

Patrón correcto

NotaPublicado: 2014-10-21 06:18 @304
por rraulqm92
Hola,

Necesito coger la dirección incorrecta del correo de "Delivery Status Notification (Failure)".

Para ello me he montado un script que se encarga de acceder a todos los correos con este asunto. El problema es al ejecutar el patrón de búsqueda en el interior del contenido del correo.

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. while ( my ( $html ) = getTextIMAP('Delivery Status Notification (Failure)') ) {
  2.      
  3.    print "entro en primer while \n";
  4.         if ($html) {
  5.                
  6.                 while ( $html =~ /(To: "*?")/gis ) {
  7.                         my $correo = $1;
  8.                        
  9.                        
  10.                         print "correo encontrado. $correo \n";
  11.                         ####enviar correo
  12.                        
  13.                 }
  14.                
  15.                 print "acabo while de búsqueda de TO: \n";
  16.        
  17.         }else{
  18.                 print "error primer if \n";
  19.         }
  20. }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


El contenido del correo está en la variable $html y necesito sacar el correo de la línea:

To: "[b][email protected]" <[email protected]>

Re: Patrón correcto

NotaPublicado: 2014-10-21 11:00 @500
por explorer
Te falta un '.' en el patrón:

while ( $html =~ /(To: ".*?")/gis ) {

Lo que tenías escrito es "un asterisco que aparece cero o una veces".

De todas maneras, yo lo pondría así:

while ( $html =~ /^To: (.*?)$/gis ) {