Ahora que hemos visto variables, operadores y estructuras de control, un ejemplo más complicado.
¿Qué contiene
$tabla_amino_1_a_3 al final?
#!/usr/bin/perl -w
# Ejemplo escrito por Bruno Contreras en Julio de 2005
use strict;
my @amino = ('A','R','N','D','C','Q','E','G','H','I','L','K','M','F','P','S','T','W','Y','V','X');
my %amino1a3 = ('A','ALA','C','CYS','D','ASP','E','GLU','F','PHE','G','GLY','H','HIS',
'I','ILE','K','LYS','L','LEU','M','MET','N','ASN' ,'P','PRO','Q','GLN',
'R','ARG','S','SER','T','THR','V','VAL','W','TRP','Y','TYR');
my $tabla_amino_1_a_3 = ""; # declara cadena vacía
my ($aa); # variable para recorrer un bucle
foreach $aa (@amino)
{
if($aa eq 'Z' || $aa eq 'B') # B y Z son formas ionizadas de asp y glu
{
next;
}
elsif($aa eq 'X')
{
$tabla_amino_1_a_3 .= "$aa equivale a cualquier aminoácido\n";
}
else
{
$tabla_amino_1_a_3 .= "$aa equivale a $amino1a3{ $aa }\n";
}
}
#print("Tabla de nomenclatura de aminoácidos\n$tabla_amino_1_a_3");