Clic

Detección automática de codificación de caracteres en el terminal perl-script.

¿Cansado de la codificación manual para cambiar la salida normal de la versión rusa de su guión Perl, dependiendo de la codificación de la terminal (ejecutar secuencias de comandos en Linux (UTF-8), Windows (ActivePerl, cp866) y Windows ( Cygwin , cp1251)). Googlear un poco, pero no hay recetas listas no se cumplen, una buena consulta para encontrar algo en mi cabeza no llegó.

Decidí hacer lo siguiente - para determinar el sistema operativo, en el que se ejecuta el script, y dependiendo de la codificación de la secuencia de salida de la pantalla (STDOUT):

 ! # / Usr / bin / perl;
 uso utf8;
 requieren codificación;
 codificación de las importaciones ('utf8', 'stdout' => y setEncoding);

 setEncoding sub {
	 if ($ ^ O = ~ / ^ MSWin \ d {2} $ / i) {
		 return 'cp866';
	 }
	 elsif ($ ^ O = ~ / ^ $ cygwin / i) {
		 return 'cp1251';
	 }
	 elsif (condición para el próximo sistema operativo (por ejemplo - linux)) {
		 return 'utf8';
	 }
          ...  y así sucesivamente, con base en las necesidades de personal ....
 }

Comentarios, correcciones, adiciones y / o otras formas de resolver el problema mediante la instalación de una codificación automática de perl-script son siempre bienvenidos!

Y en caso de que de repente no puede encontrar tiempo para escribir algo en el blog hasta el próximo año - felicitaciones a todos mis lectores un Feliz Año Nuevo, buena suerte y un poco de los descubrimientos más agradable! :)

PS: Y para aquellos interesados ​​en trabajar independientemente - una nueva, sino más bien un recurso interesante FrilansFM - portal para freelance

Más sobre temas similares:

Categoría Filed under: Codificación , Noticias | Etiqueta Tags: , , , , , | Comentarios No hay comentarios

Deja un comentario