Sustitucion de texto

Adrian Galindo agalindo@izquierdo.fmedic.unam.mx
Tue, 25 Nov 1997 18:32:00 -0600 (CST)


	Hola lista. Ahora, despues de una semana de estar intentando, me
rindo. Ya le busque de mil maneras y no puedo. 
	Sucede que tengo un archivo como entrada con la siguiente forma:

@080aspartylglucosaminidase; lysosomal storage diseases;
    malocclusion; dental arch; tooth|
@090FOLLOW-UP; ASPARTYLGLYCOSAMINURIA; GLYCOASPARAGINASE; 
    MACROGLOSSIA; MUTATIONS; FEATURES; DISORDER; DISEASE; FAMILY|

y necesito necesito que quede la salida con una sustitucion de cada punto
y coma (;) por la etiqueta del principio. Algo asi:

@080aspartylglucosaminidas
@080lysosomal storage disease
@080malocclusion
@080dental arch
...

	El problema es que con el while (<ARCHIVO>) el programa lee el
archivo linea por linea y como le puse la condicion 

if ($linea =~ /\@080/) {
  sustituye los 80's 
} elsif ($linea =~ /\@090) {
  sustituye los 90's
}  

entonces en las lineas que no empieza con la dichosa etiqueta no hace
nada. Entonces, donde tengo que meter el ciclo para que mientras no
encuentre a una linea con una etiqueta diferente, sustituya los ; por @080
	Intente con banderas, prendiendola si encontraba la etiqueta, y
apagandola cuando encontrara el tubo del final del campo, pero no, me
regresa esto:

@080aspartylglucosaminidase
@080lysosomal storage diseases
@080malocclusion
@080dental arch
@080tooth|
@090FOLLOW-UP
@090ASPARTYLGLYCOSAMINURIA
@090GLYCOASPARAGINASE
@090MACROGLOSSIA
@080MUTATIONS
@080FEATURES
 ~~~ <---------asi no me sirve, debe ser @090

o sea, incluso en el @090, como la siguiente linea ya no tiene @090 pone
el @080... :~(

?Como le hago para que luego del @080 ponga @080 y luego del @090 ponga
@090 y no @080??

Espero haber podido expresar mi problema para que me puedan ayudar y
siculpen por el mensajote, pero trate de ser lo mas breve.

Salu2 y Gracias! :)

---------------------------
Adrian Galindo Hdez
Hemerobiblioteca J.J.Izquierdo
Facultad de Medicina, UNAM