Hola, Amaya:

        Prueba con la función split:

$a="a|b|c"; 
@b = split(/\|/,$a); 
print $b[1];

(imprime "b")

        Saludos!
        diego

On Thu, 27 Feb 2003, Amaya wrote:

> Hola listeros,
> 
> Ando muy entretenida ;-) parseando unos bonitos logs ;-) y tengo un
> problema que seguro que es la tontería más grande del mundo.
> 
> Tengo una expresión regular y necesito que haga un poco más:
> 
> # Abro un archivo
> while (chomp($id = <FTAG>)){
>       # Abro otro archivo
>       while (chop($line = <FAUTH>)){
>               # Esto me funciona, pero no muy bien
>               $line =~ /.*?\|.*?\|.*?\|.*?\|.*?\|.*?\|(.*?.)\|.*?/ ;
>               $encontrado  = $+ ;
>               
>               # Esto es lo que necesito que me encuentre:
>               # La línea debe empezar por el contenido de la variable $id.
>               $line = ~/^\$id\|.*?\|.*?\|.*?\|.*?\|.*?\|(.*?.)\|.*/;
>               #####################################################
>               #         ~~~~~ Cómo escribo esto????
>               #####################################################
>               $encontrado = $+ ;
>               
>               if($encontrado){
>                      print $encontrado, "\n";
>               }
>       }
> }
> 
> La línea típica de logs sería así:
> 4a10a003-f2da63e8c3-0|lxrhgpp04|2003-01-20 07:01:06,372|AUTH 
> |[Thread-8]|1|AplicaciónCRC|1|351|1|0|0|0||
> Abstrayendo:
> 
>       
> $id|host|fecha|petición|algo|algo|$encontrado|más_cosas_que_no_me_interesan
> 
> Sólo quiero saber el campo $encontrado de la línea que empieza por $id.
> 
> Estoy empezando tanto con Perl como con las regexp y me cuesta un poco.
> Gracias por vuestro tiempo :-)
> 
> 
> 
> -- 
> .''`.  Girl, you gotta change your crazy ways, you hear me?
> : :' :                                        Crazy  by  Aerosmith      
> `. `' Proudly running Debian GNU/Linux (Sid + 2.4.20 + Ext3)
>   `-  www.amayita.com  www.malapecora.com  www.chicasduras.com
> 
> 
> -- 
> To UNSUBSCRIBE, email to [EMAIL PROTECTED]
> with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]
> 

Diego Sevilla Ruiz -- http://ditec.um.es/~dsevilla/ -- [EMAIL PROTECTED]
Dep. Ingeniería y Tecnología de Computadores, Facultad de Informática
Univ.de Murcia,Campus Espinardo,30080 Murcia (SPAIN),Tel.+34968367571
lynx -dump ditec.um.es/~dsevilla/face |uncompface | ikon2xbm |display
PGP:  http://pgp.rediris.es:11371/pks/lookup?op=get&search=0xC9B964B7
perl -e'$_="[EMAIL PROTECTED]&B";for(/../g){print unpack("b*",$_),"\n"}'|tr 01 
" #"
(lambda x,f=lambda x,f:x and x[-1]+f(x[:-1],f):f(x,f))('[EMAIL PROTECTED]')

Responder a