Yo no veo problemas... así que sospecho que han debido cambiar algunas de las condiciones que rodean al programa Perl.
Esto es lo que hace:
Using perl Syntax Highlighting
sub decimateData
{
my($file,$decFile) = @_; # Leemos los argumentos
my($decimateString) = calculateDecimation
($file); # Hacemos el cálculo de $decimateString
open my $sac_fp, "|$sac2000"; # Abrimos la conexión con el programa que está
# indicado en $sac2000, conectando la salida
# de $sac_fp a la entrada de ese programa
print $sac_fp qq(READ
$file # Empezamos a enviar comandos al programa
$decimateString
WRITE
$decFile
QUIT
);
close $sac_fp; # Cerramos la conexión
}Coloreado en 0.004 segundos, usando
GeSHi 1.0.8.4
Yo no veo fallos. Pero puede haber ocurrido esto:
* Que se haya actualizado el programa $sac2000 y ahora espera una serie de comandos o en un orden distintos a lo que se indica
* Que el $sac2000 no "entienda" los finales de línea que el programa Perl le envía, por lo que no se entera de dónde se terminan cada una de las órdenes. Un ejemplo: el programa Perl está escrito con finales de línea en formato UNIX, pero $sac2000 requiere que los finales de línea sean en formato MSDOS.
No nos dices qué sale en la ventana del comando. Es de suponer que debería salir los comandos que se le mandan.
Lo que no entiendo es porqué se abre una nueva consola con el programa $sac2000... Si ejecutas el programa Perl desde una consola, $sac2000 NO debería arrancar una nueva consola.
¿En qué sistema operativo estás?