Estoy buscando una manera de hacer coincidir solo caracteres completamente compilados en una cadena Unicode.¿Cómo comparo solo caracteres completamente compilados en una cadena Unicode en Perl?
¿[:print:]
depende de la configuración regional en cualquier implementación de expresiones regulares que incorpore esta clase de caracteres? Por ejemplo, ¿coincidirá con el carácter japonés 'あ', ya que no es un carácter de control, o es [:print:]
que siempre va a ser códigos ASCII 0x20 a 0x7E?
¿Hay alguna clase de caracteres, incluidos Perl RE, que se pueda usar para hacer coincidir algo que no sea un carácter de control? Si [:print:]
incluye solo caracteres en el rango ASCII, asumiría que [:cntrl:]
también lo hace.
Puede deshacerse del feo BEGIN {binmode STDIN, ": utf8"} kludge al proporcionar la opción -CS en la línea de comando. – moritz
... que también hará que la advertencia desaparezca, porque configura STDOUT de la misma manera que STDIN. – moritz
Puede no ser una gran opción si el OP escribe un módulo para manejar esto en lugar de un script independiente. Así que voy a dejar mi solución, así como su solución con la esperanza de que el OP pueda descubrir cuál es mejor para su situación. Gracias :-) – Tanktalus