Using perl Syntax Highlighting
else {
$trozo= substr($adn,$posicionE,$diferencia);
print FICHERO
"\>1-100000_$contador";
$contador++;
if ($d==1
) {
print FICHERO
"[";
print FICHERO 100000
-$posicionE;
print FICHERO
"-";
print FICHERO 100000
-$posicionS+1;
print FICHERO
"]";
print FICHERO
"(REVERSE SENSE)";
print FICHERO
$cab;
print FICHERO
$trozo;
print FICHERO
"\n";
print FICHERO
"\n";}
else {
print FICHERO
"[";
print FICHERO
$posicionE+1;
print FICHERO
"-";
print FICHERO
$posicionS;
print FICHERO
"]";
print FICHERO
$cab;
print FICHERO
$trozo;
print FICHERO
"\n";
print FICHERO
"\n";}
}
}Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
* Hay que actualizar el
print para que saque el valor del $contador
* El $contador estaba mal puesto, debe ser fuera del
if que decide la orientación de la secuencia
* El problema más grave está sin resolver aquí: la inicialización de la variable a 1. Si este trozo de código corresponde a una subrutina, pásale el valor de $contador como un argumento más, para que sepa a partir de qué valor debe pintar. Y la última instrucción de ella que sea un
return $contador; para que informe al programa principal cuánto a pintado.
En resumen:
Using perl Syntax Highlighting
## Programa principal
#[...]
my $contador = 1;
#[...]
## Pintamos la secuencia en el orden normal (d == 1)
$contador = pinta_secuencia
(..., $contador);
## Pintamos la secuencia en el orden inverso (d != 1)
$contador = pinta_secuencia
(..., $contador);
Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Subrutina
Using perl Syntax Highlighting
sub pinta_secuencia
{
my ( ..., argumentos
, ..., $contador ) = @_;
#[Pintado de la secuencia, lo indicado más arriba]
return $contador;
{Coloreado en 0.001 segundos, usando
GeSHi 1.0.8.4
Naturalmente, hay más formas de hacerlo.