Equivalente a gotoxy en Perl pero para Windows
Publicado:
2013-09-06 18:39 @818
por ManuelPerl
Hola, estoy buscando la equivalencia en Perl de la función de C gotoxy para posicionar texto en la consola. Por lo visto el Term::Cap o el screen no funcionan en Windows. La versión de Perl es la que viene con el IDE Padre 5.14.2. A ver qué módulo me podría valer.
Re: Equivalente a gotoxy en Perl pero para Windows
Publicado:
2013-09-06 20:19 @888
por explorer
gotoxy() no es una función de C. Es una función que está definida en la biblioteca conio.h.
En otros tiempos, te diría que habría que cargar el controlador ANSI del Windows para que las consolas de texto se comportaran como las consolas de Unix/Linux. Pero eso dejó de funcionar a partir de Windows NT/2000/XP. Afortunadamente, en Perl, hay un módulo que imita el funcionamiento de una consola ANSI:
Win32::Console::ANSI.
En cambio, hoy en día, para gestionar las consolas de Windows, se puede usar otro módulo:
Win32::Console.
Re: Equivalente a gotoxy en Perl pero para Windows
Publicado:
2013-09-06 21:40 @944
por ManuelPerl
explorer, he intentado instalar este módulo pero me dice que no puede instalarlo. Tengo el IDE Padre con versión de Perl 5.14.2. Me fui al cpan install Win32::Console::ANSI, y también puse force install Win32::Console::ANSI, pero al final me da error:
Can't locate Term/ANSIScreen.pm in @INC (@INC contains:
b D:/Dwimperl/perl/vendor/lib D:/Dwimperl/perl/lib .) a
BEGIN failed--compilation aborted at ansi.pl line 8.
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use Win32::Console::ANSI;
use Term::ANSIScreen qw/:color :cursor :screen/;
locate 1, 1; print "@ This is (1,1)", savepos;
print locate(24,60), "@ This is (24,60)"; loadpos;
print down(2), clline, "@ This is (3,16)\n";
color 'black on white'; clline;
print "This line is black on white.\n";
print color 'reset'; print "This text is normal.\n";
print colored ("This text is bold blue.\n", 'bold blue');
print "This text is normal.\n";
print colored ['bold blue'], "This text is bold blue.\n";
print "This text is normal.\n";
Re: Equivalente a gotoxy en Perl pero para Windows
Publicado:
2013-09-06 21:42 @946
por ManuelPerl
D:\Dwimperl\perl\bin>cpan Win32::Console::ANSI
CPAN: CPAN::SQLite loaded ok (v0.202)
Database was generated on Fri, 06 Sep 2013 23:23:15 GMT
CPAN: Module::CoreList loaded ok (v2.57)
Win32::Console::ANSI is up to date (1.05).
Re: Equivalente a gotoxy en Perl pero para Windows
Publicado:
2013-09-07 07:05 @337
por explorer
No es
cpan install Win32::Console::ANSIsino
cpan Win32::Console::ANSI(sobra la palabra 'install'. Este es un fallo muy común).
El mensaje de error dice que es el módulo
Term::ANSIScreen el que no está instalado.
Tendrás que hacer un
cpan Term::ANSIScreen
Re: Equivalente a gotoxy en Perl pero para Windows
Publicado:
2013-09-07 07:24 @350
por ManuelPerl
Perfecto, solucionado. Efectivamente no estaba instalado el módulo Term::ANSIScreen, ya funciona perfectamente.
Queda cerrada esta pregunta.