• Publicidad

Sacar el path

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

Sacar el path

Notapor Norther » 2007-11-29 08:40 @403

Buenas, llevo un par de días con una duda que no consigo solucionar, procuro no preguntar hasta que es la única solución, pero es que ya no se que hacer, ya probe usando sustituciones, split, de todo...

Lo único que quiero es que al introducir una ruta completa a un archivo meter en una variable la ruta y en otra el archivo... pero no lo acabo de conseguir aunque me acerco, algo así como:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/usr/bin/perl

$ruta = $ARGV[0];

$archivo = $ARGV[0];

$ruta =~ /expresión_regular_que_necesito/;

$archivo =~ /expresión_regular_que_necesito/;

print "La ruta al archivo es: $ruta\n";

print "El nombre del archivo es: $archivo\n";
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Ejemplo:

Código: Seleccionar todo
$ test.pl /home/norther/Desktop/bloc.list

La ruta del archivo es /home/norther/Desktop/

Y el archivo se llama block.list


El problema que estoy teniendo es que la longitud de las rutas puede variar, puede ser tanto /home/norther/Desktop/bloc.list como home/norther/bloc.list.

Muchas gracias.
Norther
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2007-07-24 13:47 @616
Ubicación: Asturias

Publicidad

Notapor explorer » 2007-11-29 10:10 @465

Yo usaría el módulo File::Spec...

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use File::Spec;

$x = "/home/norther/Desktop/bloc.list";
(undef,$d,$f) = File::Spec->splitpath($x);
print "$d, $f\n"; # /home/norther/Desktop/, bloc.list
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
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

Notapor Norther » 2007-11-29 11:08 @506

hum, ¿cuál es el funcionamiento interno de este módulo? Me gustaría entenderlo para intentar hacer algo similar yo mismo :P

Por cierto para sacar el archivo de la url supongo que no busca la cadena de texto entre "/" y "." ¿no? (para comprobar si funcionaría con archivos sin extensión).
Norther
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2007-07-24 13:47 @616
Ubicación: Asturias

Notapor explorer » 2007-11-29 11:29 @520

El módulo File::Spec seguro que ya lo tienes instalado en tu máquina. Sólo tienes que encontrarle (busca por File/Spec.pm)

El funcionamiento es muy bueno, porque es 'casi' independiente del sistema operativo que estés usando. Eso quiere decir que si lo usas tendrás menos problemas cuando pases tu programa de Windows a Linux.
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

Notapor Norther » 2007-11-29 12:15 @552

Muchas gracias, parece que me esta funcionando perfectamente :)

Aprovecho para preguntarte otra duda que me acaba de surgir, ya llevo unas cuantas veces visto por ahí programas simples hechos por gente que añaden opciones al menú contextual de GNOME (Ejemplo) por fin conseguí hacerme con el código fuente de uno para analizarlo, pero me temo que estaba en Python (y mis conocimientos de Python son francamente escasos).

Así que me puse a buscar alguno en Perl que es lo que me interesa pero no encontré nada... ¿Sabes de algún libro/tutorial que pueda ayudarme a aprender a manejar Perl y Gtk? (resaltemos el tema de menús contextuales, para diálogos simples ya encontré algo)
Norther
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2007-07-24 13:47 @616
Ubicación: Asturias

Notapor creating021 » 2007-11-29 16:07 @713

¿Qué tal?

Mira, no creo que usar Gtk sea bueno ( es que existen dos ) mejor usa Gtk2.

Para Gtk2 hay un tutorial bueno y los POD de la página oficial ( que son la lucha ).

Tutorial de Gtk2-perl ( en inglés )

Todos los POD de Gtk2, Cairo, Pnago y Gnome2
Expect the worst, is it the least you can do?
Avatar de Usuario
creating021
Perlero frecuente
Perlero frecuente
 
Mensajes: 595
Registrado: 2006-02-23 16:17 @720
Ubicación: Frente al monitor

Notapor Norther » 2007-11-29 16:59 @749

Muchas gracias Creating, creo que eso era justo lo que buscaba ;)
Norther
Perlero nuevo
Perlero nuevo
 
Mensajes: 117
Registrado: 2007-07-24 13:47 @616
Ubicación: Asturias


Volver a Básico

¿Quién está conectado?

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