1/ Por línea de comandos, introduzco entre otros, el nombre del archivo que tengo que abrir, que va en la posición 0 y hago lo siguiente:
Using perl Syntax Highlighting
y más tarde en una subrutina a la que paso correctamente los datos por valor:
Using perl Syntax Highlighting
unless ( open(ARCHIVO, $archivo) ) {
print "File cannot be opened.";
exit;
}
my @datos = <ARCHIVO>;
close ARCHIVO;
return @datos;
}
print "File cannot be opened.";
exit;
}
my @datos = <ARCHIVO>;
close ARCHIVO;
return @datos;
}
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
No me abre el archivo por línea de comandos, pero si usando eclipse cambio $ARGV[0] por el nombre del archivo entre comillas simples, sí funciona.
¿Alguna idea?
2/Si hago algo así:
Using perl Syntax Highlighting
my %datosprimarios;
my @array = ($escalar1, $escalar2);
@datosprimarios{$origen} = [@primario];
my @array = ($escalar1, $escalar2);
@datosprimarios{$origen} = [@primario];
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
con todos los datos inicializados (incluso los que no he especificado), me recomienda que en vez de usar @datos... use un escalar, ¿por qué?
3/En otro archivo, al abrirlo, tengo que extraer diversas secuencias de datos, que comienzan cada una por un cierto carácter y están separadas por un espacio en blanco
El archivo lo tengo guardado en un array, ¿se os ocurre alguna forma de extraer esas secuencias?
Mi idea es usar
Using perl Syntax Highlighting
foreach my $linea @archivo {
if ($linea =~ /^caracter/) {
guardar las siguientes lineas en un array hasta que $linea =~ /^\s*$/
}
..
}
if ($linea =~ /^caracter/) {
guardar las siguientes lineas en un array hasta que $linea =~ /^\s*$/
}
..
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
En cuanto a lo que haría luego con el array y cómo me las apañaría para guardar cada secuencia de forma aparte, eso sí sé como hacerlo.
El problema es que no se me ocurre forma alguna de escribir ese pseudocódigo. Quizás estén mal planteados los bucles...
4/ En un array contenedor de otros arrays, querría hacer lo siguiente mediante un bucle. Creo que no es complicado, pero no se me ocurre forma alguna...
Using perl Syntax Highlighting
@contenedor = (
(1,1,1),
(A,B,C),
(3,6,9));
...
@operado = (
(1A3),
(1B6),
(1C9));
(1,1,1),
(A,B,C),
(3,6,9));
...
@operado = (
(1A3),
(1B6),
(1C9));
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
¡¡Muchas gracias!! ¡Y feliz año nuevo! (o casi)