• Publicidad

imprimiendo valores en pantalla

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

imprimiendo valores en pantalla

Notapor Juan Carlos Mendoza » 2006-10-03 16:42 @737

Saludos a todos...

Estoy leyendo datos de un archivo de texto y todo va bien, saco la información perfectamente, hago un split para separar los datos por línea, pero el problema viene cuando voy a imprimir algunos valores el cual me arroja la siguiente salida

valor1
^Mvalor2
^Mvalor3
^Mvalor4
.
.
.

la primera vez lo hace bien pero de la segunda en adelante me adiciona el ^M he buscado info y no he podido resolver el problema a alguien le ha pasado alguna vez esto?

NOTA: Estoy trabajando bajo Linux

gracias de antemano
Juan Carlos Mendoza
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2006-10-03 16:30 @729

Publicidad

Notapor explorer » 2006-10-03 16:55 @746

¡Bienvenido a los foros de Perl en Español!

El problema es que estás leyendo un fichero hecho en Windows. El '^M' es el símbolo del retorno de carro.

Seguramente estás haciendo un chop para quitar el final de línea. Prueba a poner un chomp.

Si eso no te funciona, prueba a definir al principio del programa $/ = "\r\n".
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

Notapor Juan Carlos Mendoza » 2006-10-03 17:50 @785

gracias, intenté lo q me señalaste y nada, con el chomp hace exactamente lo mismo y cuando defino $/="\r\n" no me muestra ningúnn valor y es extraño, porque el archivo lo estoy generanto con el mismo script en perl usando esta linea

qx(repquota -a | awk -F" " '{print $1 " " $3 " " $5}' > /tmp/archivo.txt)

y de alli es q estoy sacando el nombre del usuario, espacio usado, y quota asignada

el escript es para q me de reportes semanales de las quotas de disco
Juan Carlos Mendoza
Perlero nuevo
Perlero nuevo
 
Mensajes: 2
Registrado: 2006-10-03 16:30 @729

Notapor explorer » 2006-10-03 17:58 @790

Humm... a mi me haría falta ver algo más de código...

Si el problema no está a la entrada, quizás el problema esté a la salida.
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

Notapor creating021 » 2006-10-04 19:09 @840

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 explorer » 2006-10-04 20:35 @899

Juan Carlos Mendoza escribiste:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
qx(repquota -a | awk -F" " '{print $1 " " $3 " " $5}' > /tmp/archivo.txt)
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Curioso... usas awk cuando podrías hacerlo todo en Perl...

Con el módulo Quota se puede interrogar al sistema sobre las cuotas en los sistemas de ficheros.

Pero, dejando aparte eso, se podría simplemente leer la respuesta de 'qx(repquota -a)' y con un 'split-join' guardarlo al fichero.

Aún así no veo el error. Deberías abrir el fichero archivo.txt y ver si los finales de línea están bien. Si lo están, entonces el fallo puede estar en el segundo programa.
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


Volver a Intermedio

¿Quién está conectado?

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

cron