• Publicidad

Valores en consolas diferentes

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

Valores en consolas diferentes

Notapor panterozo » 2010-02-09 14:06 @629

Hola nuevamente, comunidad...

Quería saber si alguien sabe cómo enviar ciertos valores a una consola, y manejar otros en otra...

Quiero, por ejemplo sumar dos números en una consola, que me muestre en la otra la suma y en otra un saludo cuando sean > 400... o algo por el estilo.
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Publicidad

Re: Valores en consolas diferentes

Notapor explorer » 2010-02-09 14:22 @640

¿En qué sistema operativo? ¿Qué versión de Perl?
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: Valores en consolas diferentes

Notapor panterozo » 2010-02-09 14:30 @646

explorer escribiste:¿En qué sistema operativo? ¿Qué versión de Perl?

Esta es la versión Perl... This is perl, v5.10.0 built for i486-linux-gnu-thread-multi

Adivina... ¡ja,ja,ja!... Ubuntu v9.04.

He estado probando... pongo who en la consola... me dice las consolas que tengo abiertas...
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
 tty7         2010-02-09 08:15 (:0)
 pts/0        2010-02-09 08:27 (:0.0)
 pts/1        2010-02-09 15:22 (:0.0)
 pts/2        2010-02-09 08:29 (:0.0)
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4


Me puedo mandar mensajes entre ellas como sigue:
Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
echo "hola, como estas">>/dev/pts/1
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4

y aparece en la otra consola...

Algo por el estilo deseo hacer. :P
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Valores en consolas diferentes

Notapor explorer » 2010-02-09 15:28 @686

Pues entonces es sencillo: haces un open() a la terminal donde quieras escribir y ya está: print().

Eso sí: ten en cuenta que solo podrás escribir en las consolas de las que tengas permisos de escritura. Lo normal es que solo puedas entre las abiertas por ti, y no las del resto de usuarios.
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: Valores en consolas diferentes

Notapor panterozo » 2010-02-09 15:32 @689

¿Algo así?

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
open(CONSOLA,"/dev/pts/1");
print CONSOLA "hola, ¿cómo estás?";
close(CONSOLA);
 
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Esto no está funcionando :s

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#!/bin/sh
gnome-terminal -e "sh"
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


He probado con estas líneas de código... abre una nueva ventana... ahora...

¿cómo puedo mandarle valores a esa ventana?

¿limpiarla?

y sobre todo... ¿cómo correr esto en Perl? :S
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Valores en consolas diferentes

Notapor explorer » 2010-02-09 17:03 @752

Claro que no está funcionando: estás abriendo la consola en modo lectura, no en escritura.

En cuanto a cómo limpiarla y demás historias referentes a cómo colocar el cursor y demás, depende del tipo de terminal. Debes ver si, por ejemplo, es una ventana compatible con una xterm. Haz un

Sintáxis: [ Descargar ] [ Ocultar ]
Using bash Syntax Highlighting
echo $TERM
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Eso te muestra el tipo de terminal. De su nombre, termcap sabe las capacidades que la terminal puede mostrar.

Cada tipo de terminal admite una serie de comandos mediante secuencias de escape. En el caso de una xterm, sería el documento Xterm Control Sequences.

Desde Perl hay varios módulos que permiten controlar la terminal, aislando al programador de esas secuencias de escape. Yo he usado alguna vez el módulo Curses, que permite tener toda la terminal en un arreglo, y luego el módulo solo saca las diferencias entre dos refrescos, por lo que en ocasiones es muy rápida la salida.
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: Valores en consolas diferentes

Notapor panterozo » 2010-02-10 06:55 @329

Es una xterm... ¿no hay una forma más fácil de intentar hacer lo que quiero...?

(No quiero aún empezar a instalar módulos, primero afirmarme con la programación)
panterozo
Perlero nuevo
Perlero nuevo
 
Mensajes: 160
Registrado: 2010-01-26 08:36 @400

Re: Valores en consolas diferentes

Notapor explorer » 2010-02-10 07:33 @356

No se trata de instalar módulos, ya que lo puedes hacer simplemente abriendo la consola con un open() en modo escritura, y mandarle los comandos de escape.

Además... viendo el código de los módulos es una forma muy buena de aprender resolver el problema. Y animarte a investigar otras opciones.
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 41 invitados