Hola, buenas a tod@s.
Pongo el código y me explico:
Este es el texto que procesa el script.
Using text Syntax Highlighting
<a class="pais" href="">USA</a></td>
<td style="font-weight: bold; text-align:right;background-color:#FFEEAA;">dato USA</td>
<a class="pais" href="">Spain</a></td>
<td style="font-weight: bold; text-align:right;background-color:#FFEEAA;">dato Spain</td>
Coloreado en 0.000 segundos, usando
GeSHi 1.0.8.4
y este parte del script
Using perl Syntax Highlighting
my $i = 0;
my @total = ();
@regexp = (".*pais.*>(.*?)<\/a",".*FFEEAA.*>(.*?)<\/t");
procesar ($texto, \@regexp);
sub procesar{
my ($content,$regexp) = @_;
my @lineas = split "\n" , $content;
my @reg = @{$regexp};
foreach (@lineas){
if($_ =~ m{$regexp->[$i]}o){
$total[$i] = $1;
$i++;
}
if(scalar(@reg)==$i){last;}
}
print @total;
}
Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
La intención es que imprima : Usadato Usa
Pero lo que imprime es: UsaSpain
El caso es que al encontrar la primera coincidencia, entre en el if y recoge USA y aumenta el contador $i, pero, y aunque con un depurador, me dice que el próximo patrón es el que busco, no hace caso y recoge de nuevo el primer patrón. ¿En que me estoy equivocando?
Buenas tardes y saludos LeoSevilla.