Tengo una parte de código que quiero convertir en subprograma, es ésta:
Using perl Syntax Highlighting
- my $ADI = 0;
- my @array = ('"wid="w1"', 'wid="w2"');
- my $lerroADI= 'wid="w1"';
- for my $ADIa (@array) {
- if ($lerroADI eq $ADIa) {
- $ADI=1;
- last;
- }
- }
- print "$ADI";
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Lo primero es que no me devuelve nunca "1", siempre "0", aunque como se puede ver en el array sí que está wid="w1".
La otra y no por ello menos importante, es que no sé qué hacer con las comillas simples. Quiero convertir ese cacho en un subprograma que haga algo así:
1.- Recibir una línea de archivo por parámetro (lo que en el código de arriba sería $lerroADI
2.- Comparar esa línea con lo que hay dentro del array que le corresponde para ver si esa línea existe en el vector(me da igual dónde, sólo que esté es importante)
3.- Si está devuelve 1; si no está devuelve 0.
El caso es que en el primer paso, el parámetro que recibiría es algo así: <term tid="t549" type="open" lemma="itxi" pos="V.ADI-SIN">
Pero si esa línea no está entre 'comillas simples' no me la interpreta bien. Por tanto, mis preguntas son dos: ¿por qué siempre devuelve 0? y ¿cómo hago para guardar la línea que recibo como parámetro en una variable y que la interprete como si estuviera entrecomillada?
Muchas gracias