• Publicidad

Duda al cargar directorio

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Duda al cargar directorio

Notapor BigBear » 2012-06-09 18:00 @791

Tengo el siguiente código:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Cwd;
  2.  
  3. my $ruta = getcwd();
  4.  
  5. system("start $ruta");
  6.  
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


Y devuelve esto:

Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
El sistema no puede encontrar el archivo D:/Mis.
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Necesito saber por qué no carga el directorio por el tema de los espacios en blanco y cómo puedo arreglarlo para que ande.

¿ Alguien me puede ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Duda al cargar directorio

Notapor explorer » 2012-06-09 18:17 @803

Pues se resuelve, creo, que de la misma manera que en Unix/Linux: poniendo el nombre del archivo/ruta con comillas dobles (o simples en el caso de Unix/Linux).

(no probado)
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
system(qq(start "$ruta"));
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Más información en perlop.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda al cargar directorio

Notapor BigBear » 2012-06-09 18:25 @809

¡Qué desgracia! Probé tu código y sigue el mismo problema.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda al cargar directorio

Notapor explorer » 2012-06-10 04:43 @238

Es que no lo sé: hace años que ya no uso Windows.

Lo que puedes hacer es ver con qué entrecomillado funciona en la línea de comandos, si con comillas dobles, simples, o si tienes que escapar el significado de los espacios en blanco con las contrabarras "\".
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda al cargar directorio

Notapor BigBear » 2012-06-10 10:04 @461

¿Y no hay otra forma de cargar un archivo o directorio sin tener que usar system() u otros comandos?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda al cargar directorio

Notapor explorer » 2012-06-10 14:58 @665

¿A qué te refieres con "cargar"?

Si te refieres a leer los archivos que hay dentro de un directorio, se puede hacer con opendir(), readdir() y closedir().

Más información en perldoc -f readdir.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Duda al cargar directorio

Notapor BigBear » 2012-06-10 16:04 @711

Una pregunta fuera del tema: ¿cómo puedo enviar un valor en el siguiente código a la función reload()?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $SIG{INT} = \&reload;
  2.  
  3. sub reload {
  4. print $_[0]."\n";
  5. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Intenté con \&reload("test"), pero nada.
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Re: Duda al cargar directorio

Notapor explorer » 2012-06-10 16:44 @739

Una manera:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $aviso = "test";
  2.  
  3. $SIG{INT} = sub { reload($aviso) };
  4.  
  5. sub reload {
  6.     say $_[0];
  7. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Otra manera:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. my $aviso = "test";
  2.  
  3. $SIG{INT} = \&reload;
  4.  
  5. sub reload {
  6.     say $aviso;
  7. }
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Hummm... tengo dudas del primer caso... habrá que hacer pruebas...
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 18 invitados