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]')