Hola!
Estoy haciendo un script en perl y estoy atascado en una traducción de alfabetos. El fallo lo tengo en que para realizar una substitución utilizo una expresión regular tal que esta:
$linea =~ tr/ABCDEFGHIJKLMNOPQRSTUVWXYZ/ZYXWVUTSRQPONMLKJIHGFEDCBA/;
De ese modo funciona perfecto, pero el caso es que tengo un array de alfabetos, y me gustaría que el patrón de substitución fuera una variable:
foreach $alf(@alfabetos){
@tmp=<FILE>;
foreach $l(@tmp){
chomp($l);
$l=uc($l);
$l=~tr/ABCDEFGHIJKLMNOPQRSTUVWXYZ/$alf/;
print FILEW "$l\n";
}
}
Esto es un extracto de mi código, como podéis ver, la linea que me interesa es esta:
$l=~tr/ABCDEFGHIJKLMNOPQRSTUVWXYZ/$alf/;
pues no interpreta el contenido de la variable y se ciñe a substituir el alfabeto normal por los caracteres "$", "a", "l", "f".
He probado con poner la variable entre comillas dobles para que la interprete, pero también añade las comillas a la substitución...
Alguna idea?
PD: Seria genial añadirle al foro algún módulo para colorear el código.