Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2003, 14:57
lucygr
 
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.