Hamtaro escribiste:- ¿Qué significa $codon =~ /GC./i ?
He usado =~ y sé que es el operador binding, pero no entiendo el '.' ahí ni el 'i'. ¿Por qué no 'g'?
El operador '=~' es el de confrontación entre una cadena y un patrón, lo que llamamos normalmente una operación de
expresiones regulares.
El '.' es el comodín principal. Equivale a cualquier carácter. Así que
/GC./ significa que estamos buscando por las letras 'G', 'C', y seguidas por una letra más.
El modificador 'i' indica que queremos hacer una búsqueda
independiente del tamaño de caja de las letras. O sea, que nos da igual buscar mayúsculas que minúsculas. Así,
/GC./i significa que estamos buscando por 'GC' (y una letra más), o 'gc' (y una letra más) o incluso 'Gc' o 'gC' (y una letra más).
El modificar 'g' sirve para hacer búsquedas repetidas (búsqueda
global). Pero no estamos haciendo eso. En esa parte del código solo queremos saber si existe, en alguna parte de $codon, la cadena que coincida con el patrón. Si es así, hace un print, y termina. Otro caso sería si queremos buscar por todas las ocurrencias del patrón dentro del $codon.
Hamtaro escribiste:- ¿Qué significa /UC.|AG[UC]/i?
He usado el operador '||' pero no '|' y el '[ ]' tampoco lo he visto en mi vida.
Los patrones de expresiones regulares tienen su propio lenguaje (mira el enlace que te he puesto antes). Entonces, los caracteres que, en Perl significan una cosa, dentro de un patrón significan algo completamente distinto.
/UC.|AG[UC]/i quiere decir que estamos buscando (independientemente del tamaño de caja, 'i') por:
- 'UC', seguido por un carácter más, o ('|')
- 'AG', seguido por un carácter más, que puede ser, 'U' o 'G'. Los corchetes conforman "clases de caracteres", y coinciden con un único carácter
Tienes una introducción rápida a las exp. reg. en tu propio ordenador en
perldoc perlrequick,
y en la Web (
traducido al español). Y una referencia rápida en
perlreref.
Más información en tu propio ordenador sobre las exp. reg. en
perldoc perlre,
y en la Web (
traducido al español).
Un tutorial sobre exp. reg. en tu propio ordenador en
perldoc perlretut,
y en la Web (
traducido al español).
Mayor explicación sobre las clases de caracteres, en tu propio ordenador en
perldoc perlrecharclass,
y en la Web (
traducido al español).
Para cualquier duda, aquí mismo