Tengo un documento de tipo xml, con esta forma
Using xml Syntax Highlighting
- <text>
- <wf wid="w1" sent="s1">Komunikazio</wf>
- <wf wid="w2" sent="s1">elektronikoen</wf>
- <wf wid="w3" sent="s1">aroan</wf>
- <wf wid="w4" sent="s1">egon</wf>
- <wf wid="w5" sent="s1">arren</wf>
- <wf wid="w6" sent="s1">,</wf>
- <wf wid="w7" sent="s1">gero</wf>
- <wf wid="w8" sent="s1">eta</wf>
- <wf wid="w9" sent="s1">paper</wf>
- <wf wid="w10" sent="s1">gehiago</wf>
- <wf wid="w11" sent="s1">kontsumitzen</wf>
- <wf wid="w12" sent="s1">da</wf>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Necesito conseguir cada valor de wid (el número o el "w1" por ejemplo) y guardarlo en una variable, pero no sé cómo. Es decir:
El programa abre el fichero y mira línea a línea.
Si en alguna línea encuentra la palabra "gero" debe ejecutar lo siguiente:
Al llegar por ejemplo a esta línea: <wf wid="w7" sent="s1">gero</wf> encuentra la palabra "gero" y entonces debe guardar la wid que le corresponda (en este caso "w7") en una variable.
¿Es posible? Agradecería mucho su ayuda y espero se entienda mi explicación.
Acabo de intentarlo con este código:
my $testua='<wf wid="w1" sent="s1">Komunikazio</wf>';
my $numero = grep (/wid(w.*)/, $testua);
print($numero);
pero me imprime el número 0 cuando debería imprimir el "1" de "w1".