Newsgroup: it.comp.lang.perl
Titolo: interfaccia

Ciao a tutti,
	mi hanno detto che esiste un modulo perl per creare una
interfaccia simile a quella di AS400 ovvero di testo con punti di menù.
Tipo quelle che vedete nei terminali delle agenzie di viaggio :-)
Sapete dirmi il modulo ed  eventualmente se posso usarlo sia in windows sia in linux?
Grazie.

Vittorio Zuccalà, nel messaggio
<20040723125...@ortiz.LINGOTTO.LOCAL>, scriveva:

Non conosco i menu di As400, comunque di moduli per interfaccie testo ce ne
sono diversi. Temo però che nessuno dia garanzie di funzionare sia in
windows che in Linux.
    Term::ANSIColor # potrebbe funzionare anche in Windows, purché
                    # sia installato il driver ANSI.
    Term::WinConsole # idem
    Win32::Console::ANSI # non richiede il driver ANSI, ma è ovviamente
                         # solo per Windows
    Term::UI        # questo senz'altro gira dappertutto, ma è veramente
                    # un'interfaccia molto grezza
Ce ne sono probabilmente anche altri, che in questo momento non ricordo.
I limiti sono comunque più o meno sempre quelli: o usano codici ANSI, e
quindi richiedono un driver ANSI; o si appoggiano a qualche funzionalità di
uno o dell'altro sistema operativo.
Ciao.

                     # sia installato il driver ANSI.
Prima di tutto grazie per la risposta.
Per quanto riguarda i driver ANSI...
Mostro tutta la mia iGNUranza :-)
Essi sono già installati di default in linux?
E in windows? In entrambi i casi sapresti indicarmi dove posso recuperarli? Sono tipo dei programmini da installare come qualsiasi driver oppure qualcosa di differente?
Grazie ancora.

di differente?
E' il buon vecchio ansi.sys. Devi fare in modo che venga caricato dalla
shell che esegue lo script Perl. Si fa con il comando "device=config.sys"
nel file di configurazione della shell. In sostanza, editi il file
config.nt, che trovi in \winnt\system32, ci aggiungi la riga:
   device=%SystemRoot%\system32\ansi.sys
e speri che funzioni.
Per i particolari, cerca "config.nt" nella guida di Windows 2000 (l'help
generale che compare quando, al di fuori di qualunque programma, premi F1).
Se riesci a trovare un ansi.exe, o comunque un altro driver ANSI
compatibile per il sistema che usi e che possa essere caricato come
semplice eseguibile, ti semplifichi senz'altro la vita.
Nota che un driver ANSI introduce una vulnerabilità a codici ANSI maliziosi
("bombe ANSI"). Limitandolo all'esecuzione del tuo script non dovresti
comunque avere problemi (qualche caso di suicidio pare sia stato
segnalato).
Ciao.

non č caricato dalla shell.
Anche perché la shell di solito č cmd.exe, che non consente di caricare
ansi.sys; bisogna usare 
command.com
, con tutte le limitazioni che questo
comporta.
Una strada un po' meno dolorosa, se funziona, č richiamare il modulo
Win32::Console::ANSI, che emula in modo trasparente un driver ANSI.
In sostanza, puň essere usato in combinazione con qualunque modulo che
abbia bisogno di un supporto ANSI.
L'autore comunque avverte che il modulo č ancora in beta.
Ciao.

 L'autore comunque avverte che il modulo è ancora in beta.
Grazie mille.
Lo testerò un pochino io e vi farò sapere.
Adesso almeno ho nuo strumento da utilizzare :-)
Ciauz!