Tengo una aplicación de diccionario muy simple que busca y muestra. Está construido con el módulo Win32::GUI
. Puse todos los datos de texto sin formato necesarios para el diccionario en la sección __DATA__
. El script en sí es muy pequeño, pero con todo lo que está debajo de la sección __DATA__
, su tamaño alcanza los 30 MB. Para compartir el trabajo con mis amigos, he empacado el script en un ejecutable independiente usando la utilidad PP del módulo PAR::Packer
con el nivel de compresión más alto 9 y ahora tengo una aplicación de diccionario de un solo archivo sobre el tamaño de 17MB.¿Cómo formateo correctamente los datos de texto sin formato para una aplicación de diccionario Perl simple?
Pero aunque estoy muy cómodo con la idea de un script de archivo único, colocar tanta cantidad de datos de texto en la sección DATOS del script no me parece correcto. Por un lado, cuando intento abrir la secuencia de comandos en Padre (Notepad ++ está bien), que estoy recibiendo el error que es como:
Can't open my script as the script is over the arbitrary file size limit which is currently 500000.
Mis preguntas:
¿Me aporta beneficios adicionales a excepción de la eliminación del problema de apertura de archivos de Padre si muevo todo en la sección de DATOS a un archivo de texto separado?
Si lo hago, ¿qué debo hacer para reducir el tamaño del archivo por separado? ¿Lo zip y lo descomprimes mientras haces la búsqueda y la pantalla?
¿Cómo formatea normalmente la gente los datos de texto necesarios para una aplicación de diccionario?
¿Algún comentario, idea o sugerencia? Gracias como siempre :)
En estos días probablemente llegue a YAML primero para almacenar datos textualmente, ya que su formato es legible y editable por los humanos, y la interfaz es muy fácil de usar y comprender (además, cualquiera que ejecute una versión razonablemente reciente de Perl ya debería tenerla). instalado). – Ether
@Ether - ¿YAML ofrece búsquedas aleatorias escalables que funcionan bien? ¿O es solo un lenguaje de formato ala XML con búsquedas similares a XSLT (a 30MB, un enfoque de tipo XML + XSLT se vuelve significativamente peor que una base de datos adecuada en cuanto a rendimiento) – DVK
[YAML es solo un marco de serialización.] (Http://search.cpan.org/dist/YAML/lib/YAML.pm) Si empaqueta un hash de Perl, entonces sí, proporcionará la búsqueda aleatoria adecuada. Porque es un hash. – Dummy00001