• Publicidad

Extraer el nombre de un fichero eficientemente

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

Extraer el nombre de un fichero eficientemente

Notapor jc.morataya » 2009-08-12 11:56 @539

¡Hola!

Tengo una consulta que hacerles, supongamos que tengo esta variable:

$path = "C:\Documents\Files\Nombre del fichero.ext"

¿Cómo puedo extraer el nombre de un fichero?

Sé que hay muchas formas... por un lado se me ha ocurrido algo con index() y con substr() pero creo que sería ineficiente y por el otro no me gustaría usar módulos... ¿que se les ocurre amigos?

¡Gracias anticipadamente!
jc.morataya
Perlero nuevo
Perlero nuevo
 
Mensajes: 33
Registrado: 2008-02-28 09:30 @438

Publicidad

Re: Extraer el nombre de un fichero eficientemente

Notapor explorer » 2009-08-12 12:05 @545

Pues yo sí que usaré módulos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use File::Basename;
my ($name,$path,$suffix) = fileparse('C:/Documents/Files/Nombre del fichero.ext');
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


A propósito, ten cuidado con las '\' cuando están entrecomilladas con '"'.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Extraer el nombre de un fichero eficientemente

Notapor jc.morataya » 2009-08-12 12:37 @567

Qué buen módulo...

Solo que a mi me da error ya en la aplicación que tengo a pesar que sí que hace el "parse" correctamente... el error dice algo así:

fileparse(): need a valid pathname at ...

Creo que tiene que ver con las '\' ; estoy usando en los paths algo como esto:

'P:\\Camino\\Nombre del file.ext'

¿Cómo corrijo esto?

Gracias,
jc.morataya
Perlero nuevo
Perlero nuevo
 
Mensajes: 33
Registrado: 2008-02-28 09:30 @438

Re: Extraer el nombre de un fichero eficientemente

Notapor jc.morataya » 2009-08-12 12:54 @579

¡Listo!

Lo que pasaba es que en mi aplicación ya los paths los tengo con '\'... para no cambiarlos hice una sustitución así:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
 $path =~ s/\\/\//g;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
y voilà... claro hizo falta en un ciclo for() hacer un pequeño ajuste...

Con esto me queda claro no volver a usar '\' en comillas...

Saludos,
jc.morataya
Perlero nuevo
Perlero nuevo
 
Mensajes: 33
Registrado: 2008-02-28 09:30 @438

Re: Extraer el nombre de un fichero eficientemente

Notapor explorer » 2009-08-12 13:18 @596

Cuando yo hacía cosas de Perl en Windows, todos los paths los ponía con '/', y así me ahorraba problemas.
Última edición por explorer el 2009-08-14 03:40 @194, editado 1 vez en total
Razón: Anglicismos
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Extraer el nombre de un fichero eficientemente

Notapor jc.morataya » 2009-08-12 14:43 @655

¡¡¡¡¡Ya he aprendido la lección!!!!!

¡Gracias!
jc.morataya
Perlero nuevo
Perlero nuevo
 
Mensajes: 33
Registrado: 2008-02-28 09:30 @438


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: Google [Bot] y 0 invitados

cron