/ / ¿Cómo verificar si existe el nombre de archivo unicode? - perl, unicode, nombres de archivo, solaris

¿Cómo verificar si existe el nombre de archivo unicode? - perl, unicode, nombres de archivo, solaris

Según perlunicode, -e no funcionará con nombres de archivo Unicode, entonces ¿cómo puedo verificar la existencia de un nombre de archivo Unicode? En un sistema Solaris.

Respuestas

7 para la respuesta № 1

En los sistemas Unix, los nombres de los archivos son simplemente una secuencia de bytes. Tienes que pasar a -e la misma secuencia de bytes que el archivo realnombre. Hay una gran probabilidad de que sean estos bytes de la codificación del texto que se ve en utf-8. Entonces, si tiene puntos de código Unicode ("texto decodificado"), intente lo siguiente:

utf8::encode( my $fn = $decoded_text );
say -e $fn ? "exists" : "doesn"t exist";

No se olvide de anteponer el nombre del directorio si es necesario.