Crear archivo con espacio en blanco y variables en el nombre
Publicado: 2015-09-22 16:51 @743
Buenas, estimados perleros Tengo un gran dilema que me aqueja desde hace unos días (seguro para ustedes es algo muy fácil ).
Dentro de mi código tengo la necesidad de crear un archivo que contenga en su nombre espacios en blanco y se cree en función a variables. Para que me entiendan, mejor un ejemplo :
Como pueden apreciar, para crear el archivo ejecuto un comando externo (Linux) con la función system(). Y para escapar del espacio uso el carácter "\".
Si escribo el nombre manualmente en Linux:
Crea sin ningún problema el archivo "nombre archivo.csv", pero cuando ejecuto el script solo crea el archivo con la última variable "archivo.csv" y menciona como error que no existe el fichero "nombre".
¡OJO que solo es un ejemplo! El valor de las variables, el valor real, es el producto de diferentes funciones, solo pongo esos valores a modo didáctico.
Muchas gracias por la atención prestada.
Dentro de mi código tengo la necesidad de crear un archivo que contenga en su nombre espacios en blanco y se cree en función a variables. Para que me entiendan, mejor un ejemplo :
Using perl Syntax Highlighting
- my $variable1 = "nombre";
- my $variable2 = "archivo";
- my $nombre="$variable1\ $variable2.csv";
- system ("touch $nombre");
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Como pueden apreciar, para crear el archivo ejecuto un comando externo (Linux) con la función system(). Y para escapar del espacio uso el carácter "\".
Si escribo el nombre manualmente en Linux:
Using bash Syntax Highlighting
- touch nombre\ archivo.csv
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Crea sin ningún problema el archivo "nombre archivo.csv", pero cuando ejecuto el script solo crea el archivo con la última variable "archivo.csv" y menciona como error que no existe el fichero "nombre".
¡OJO que solo es un ejemplo! El valor de las variables, el valor real, es el producto de diferentes funciones, solo pongo esos valores a modo didáctico.
Muchas gracias por la atención prestada.