Foros del Web » Programación para mayores de 30 ;) » Programación General »

Expresiones regulares en Perl - ayuda en mi script

Estas en el tema de Expresiones regulares en Perl - ayuda en mi script en el foro de Programación General en Foros del Web. Estoy siguiendo un curso de Perl. Debo hacer un script que convierta en mayusculas el contenido de los tags de un fichero html. Debo pasar ...
  #1 (permalink)  
Antiguo 12/12/2003, 14:57
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1
Antigüedad: 20 años, 4 meses
Puntos: 0
Expresiones regulares en Perl - ayuda en mi script

Estoy siguiendo un curso de Perl.
Debo hacer un script que convierta en mayusculas el contenido de los tags de un fichero html.
Debo pasar como argumento el nombre de un fichero que contiene los nombres de tags que seran ignorados.

Mi codigo es el siguiente:

#! /usr/bin/perl

#Fichero Html
open(FIC1,$ARGV[0]) or die "Error ... de fichier html";

#Fichero tempral para hacer los cambios
open(FIC2,">temp.html") or die "Error... de fichier temporaire"; fichero temporal

#Fichero largumento que contine los nombres de tags
open(FIC3,$ARGV[1]);

#EStoy creando una tabla que contiene el nombre de los tags que seran ignorados
@balis=<FIC3>;
foreach $elt(@balis){
chomp $elt;
$bal.=$elt."|/".$elt."|";
print $bal,"\n";
}
chop $bal;
$bal="[^(".$bal.")]";

#Recorro linea a linea el fichero html y reemplazo las minusculas por mayusculas
#Aqui es mi problema, dentro de la expresion regular, yo intento creal una clase de #excepcion con [^ ], donde quisiera poner los nombres de mi lista guardada en $bal

while($lign1=<FIC1>){
$lign2=$lign1;
$lign2=~s/<([^>]+)>/<\U$1>/g;
print $lign2;
}

print $bal,"\n";
close(FIC1);
close(FIC2);

#unlink($ARGV[0]);
#rename("temp.html",$ARGV[0]);


Les agradezco por anticipado sus opiniones, quisiera sabar si es posible hacerlo de la menra que lo he pensado y si no, que otra alternativa tengo.

Saludos

Lucy
_________________
Lucila G.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:17.