Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introduccin
#!/usr/bin/perl
La instruccin print
Esta instruccion envia informacin a la
pantalla o a un archivo. :
#!/usr/local/bin/perl
print "Hola Mundo!\n";
print "Esto se escribe en\ndos lineas.\n";
print "Pero esto",
"Se escribe en una sola linea.\n";
print 'Porque aqui
no se ejecuta como
cambio de linea?.';
Secuencias de escape
a) Concatenacin(.):
Ej:"Hola"."mundo" # "Holamundo
"juan"." "."pedro" # "juan pedro
while(condicion){
}
Estructura de control:
ciclo for
for(<inicio>;<condicion de paro>;<incremento>)
{bloque }
Ejemplo:
for($i=0;$i<20;$i++) # ejecuta el bloque de cdigo 20 veces
{
print $i .- Hola;
}
for.pl
Estructura de control:
foreach
open(FILEHANDLE,"Flatfile.txt"); Abre el
archivo Flatfile.txt para leerlo y lo asocia al
manejador FILEHANDLE.
open (OVERWRITE, ">overwrite.txt"); Abre
el archivo overwrite.txt para escribir en l
y lo asocia al manejador OVERWRITE.
open (APPEND, ">>append.txt"); Abre el
archivo append.txt para agregarle cosas y
lo asocia al manejador APPEND.
Vive o muere...
$string =ATGTTGCCGCGATCCCGAAA";
$string =~ /(^ATG).+(C{3}).+(A{2,5})/;
@subcadenas = ($1, $2, $3);
# Ejemplo escrito por Bruno Contreras en Julio de 2005
$RNA = "CAUACUAAGAUCGCGAUAUUAUUAGCGAUAUACGACU";
$stop1 = 'UAA'; $stop2 = 'UGA';
$stop3 = 'UAG';
($total1,$total2,$total3,$total) = (0,0,0,0);
while( $RNA =~ /$stop1/g ) {
$total1++;
}
while( $RNA =~ /$stop2/g ) {
$total2++;
}
while( $RNA =~ /$stop3/g ) {
$total3++;
}
while( $RNA =~ /($stop1|$stop2|$stop3)/g) { $total++;
}
print "$total1|$total2|$total3|$total\n";
Subprogramas
declaracion
sub analyze_string {
codigo
}
Llamado:
&analyze_string;
O
analyze_string;
Paso de parametros
($val1,$val2) = (8,7);
@arrg3 = (3,4,5);
mi_subrutina($val1,$val2,@arrg3);
sub mi_subrutina {
my($sarg1,$sarg2,@sarg3) = @_;
print "subrutina con parmetros\n";
}
Ejemplo
$seq1 = ATGGGCCGTGCTGA...UAA";
$seq2 = ATGCGCTGTGATGA....UAG";
$ident= calculaIdentidad($seq1,$seq2);
sub calculaIdentidad {
my ($secA,$secB) = @_;
my $id = 0;
my $len =length($secA);
for($pos=0;$pos< $len;$pos++) {
if(substr($secA,$pos,1) eq substr($secB,$pos,1))
{ $id++; }
}
return $id/$len;
} Identidad.pl