Je voudrais mettre en couleur le texte imprimé sur la console en utilisant la commande d'impression Perl. Dans mon cas, le script ne sera exécuté que sous WinXP-DOS Command Line, mais ce serait génial s'il était indépendant du système d'exploitation bien que je préfère l'attacher à WinXP plutôt que de télécharger un paquet séparé.Comment colorier le texte de sortie du script Perl sous Windows?
Répondre
Pour tout terminal prenant en charge ANSI escape codes, vous pouvez utiliser le Term::ANSIColor package disponible sur CPAN.
A partir de la page Wikipedia:
fenêtres console dans les versions de Windows basé sur NT (Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista et Windows Server 2008) faire ne supporte pas nativement les séquences ANSI Escape , bien qu'un support possible soit .
Ne sais pas plus d'informations spécifiques à Windows que cela, je suis un gars POSIX. :-)
Win32::Console - est ici un exemple
use Win32::Console;
my $CONSOLE = Win32::Console->new(STD_OUTPUT_HANDLE);
my $attr = $CONSOLE->Attr(); # Get current console colors
$CONSOLE->Attr($FG_YELLOW | $BG_GREEN); # Yellow text on green
print "This is a test\n";
$CONSOLE->Attr($attr); # Set console colors back to original
system("color A"); #DOS command, change text color to lime
system("color 7"); #DOS command, change text color to white
Toutefois, ces commandes changent la couleur du texte sur l'écran. Tapez "couleur"? dans la fenêtre DOS pour voir les options de couleur
J'utilise fraise perl sur Windows et je n'ai pas eu le paquet Win32 :: Console. Pour installer ce type de package dans la console:
perl -e shell -MCPAN
installer la console Win32
sortie
Voici ce qui fonctionne le mieux pour moi après tout:
1) Installé Win32 :: Console :: ANSI (notez que ce n'est pas la même chose que Win32 :: Console)
perl -MCPAN -e shell
cpan> install Win32::Console::ANSI
2) Si ce module est chargé avant Term :: ANSIColor, vous pouvez utiliser l'API Standard :: ANSIColor et cela fonctionne (je l'ai essayé avec Windows 7).
use Win32::Console::ANSI;
use Term::ANSIColor;
print color("blue"), "blue\n", color("reset");
print "normal\n";
- 1. Comment rediriger la sortie stdout et stderr d'un script Perl vers un fichier sous Windows?
- 2. comment exécuter le script de sortie ajax
- 3. Comment exécuter un script Perl depuis un script Perl?
- 4. Accélérer le démarrage du script Ruby sous Windows ou Cygwin
- 5. Comment colorier du texte LabelField dans un ListField lorsque le gestionnaire parent a le focus?
- 6. Comment mon script Perl sait-il qu'il fonctionne sous Win64?
- 7. Comment puis-je copier la sortie d'un script dans le presse-papiers de Windows?
- 8. Comment puis-je utiliser un processus d'arrière-plan à partir d'un script CGI Perl sous Windows?
- 9. Comment puis-je capturer la sortie du shell cmd Windows?
- 10. Comment rediriger la sortie du script Groovy?
- 11. Vous recherchez un script pour colorier le code C++
- 12. Script Python - SCP sous Windows
- 13. Comment lancer un script python sous Windows?
- 14. Comment réexécuter un sous-programme sans redémarrer le script dans le débogueur de Perl?
- 15. Le script epylint ne fonctionne pas sous Windows
- 16. Comment puis-je inclure des modules Win32 uniquement lorsque j'utilise mon script Perl sous Windows?
- 17. Comment puis-je savoir si mon script Perl s'exécute sous Windows?
- 18. Colorier FlowDocument
- 19. Sortie du texte central de Graphics.DrawString()
- 20. Obtenir le texte sélectionné à partir du PDF dans le navigateur Web sous forme de Windows
- 21. Position de texte OpenGL sous Windows
- 22. Sortie de script/console sous forme de tableau comme railcast
- 23. Comment rassembler la sortie d'une commande externe dans un script Perl?
- 24. Puis-je exécuter Perl ithreads sous Windows simultanément?
- 25. Comment puis-je installer ExtUtils :: PkgConfig en Perl sous Windows?
- 26. Java - Sortie de la console de contrôle sous Windows/Linux
- 27. Comment faire fonctionner wxPerl dans Perl 5.10 sous Windows?
- 28. Comment appeler un script Perl dans une application C#?
- 29. Comment installer les dépendances de script Perl?
- 30. Comment puis-je envoyer le contenu du fichier sous forme de courrier électronique en Perl?
Voir aussi http://search.cpan.org/~jlmorel/Win32-Console-ANSI-1.04/lib/Win32/Console/ANSI.pm – Hasturkun
je foiré autour avec juste en utilisant Term :: ANSIColor mais c'était seulement l'impression des séquences d'échappement ... ne montrant pas correctement les couleurs. J'ai téléchargé et construit le paquet suggéré par Hasturkun (http://search.cpan.org/~jlmorel/Win32-Console-ANSI-1.04/) et tout a commencé à fonctionner. Merci! –