Pasar variables como argumento a función qx()
Publicado: 2018-04-26 13:58 @623
Hola.
Tengo el siguiente código de Perl, en el que lo que quiero es poder cambiar el nombre de un archivo para poder sacar los resultados de muchos archivos con diferentes parámetros.
El caso es que no consigo que la función qx() entienda bien la variable $lista_out.
He probado a poner una dirección fija como string, y el script funciona sin problemas, pero en el momento en que añado el bucle, y $lista_out pasa a contener una variable, qx() no lo entiende. Entiendo que sprintf() me devuelve la variable formateada como un string, por lo que no debería haber problema, ¿no?
Llevo unos días mirando por todos lados pero... no encuentro por ningún lado la solución.
Tengo el siguiente código de Perl, en el que lo que quiero es poder cambiar el nombre de un archivo para poder sacar los resultados de muchos archivos con diferentes parámetros.
El caso es que no consigo que la función qx() entienda bien la variable $lista_out.
He probado a poner una dirección fija como string, y el script funciona sin problemas, pero en el momento en que añado el bucle, y $lista_out pasa a contener una variable, qx() no lo entiende. Entiendo que sprintf() me devuelve la variable formateada como un string, por lo que no debería haber problema, ¿no?
Llevo unos días mirando por todos lados pero... no encuentro por ningún lado la solución.
Using perl Syntax Highlighting
- #!/usr/bin/perl -w
- use strict;
- use warnings;
- for (my $i=2; $i <= 10; $i++) {
- my $lista_out = sprintf("listas/lista_resultados_%.1f\.list", $i);
- printf $lista_out; # visualizar el nombre del fichero de resultados
- printf "\n\n";
- my $lista_ref = "listas/lista_referencia.list";
- my $info_out = qx(perl tools/script1.pl -R $lista_ref -S $lista_out) or die "Error en qx()";
- print $info_out;
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4