Ate :: mmaparray

MMAP un archivo como una matriz atada
Descargar ahora

Ate :: mmaparray Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Andrew Ford
  • Sitio web del editor:
  • http://search.cpan.org/~andrewf/

Ate :: mmaparray Etiquetas


Ate :: mmaparray Descripción

MMAP un archivo como una matriz atada TIE :: MMAPARRAY es un módulo PERL que le permite usar MMAP para mapear en un archivo como una matriz Perl en lugar de leer el archivo en la memoria asignada dinámicamente. Depende de su sistema operativo que sea compatible con UNIX o POSIX.1B MMAP, por supuesto. (El código para usar las funciones equivalentes en las plataformas WIN32 se ha contribuido pero aún no se ha probado). El tipo de elementos de matriz se define por el argumento u opción de la plantilla. Esta es una plantilla de estilo PERL PACK (), que por defecto es "i". La plantilla puede ser una referencia de matriz, en cuyo caso los elementos se definen mediante pares de nombre y plantilla para cada elemento. Una cadena de plantillas puede definir varios campos, en cuyo caso se considera que el elemento se considera una matriz de campos (que no necesitan ser del mismo tipo). El siguiente ejemplo muestra el archivo UTMP en Linux asignado a una matriz: Tie @UTMP, ' TIE :: MMAPARRAY ',' / VAR / LOG / UTMP ', {MODE => "RW", plantilla => , ut_session => 'l', ut_tv => , ut_addr_v6 => 'l4', pad => 'a20']}; Esto se puede escanear de la siguiente manera: para (My $ i = 0; $ i <@utmp; $ i ++) {printf ("pid:% d usuario:% s \ n" $ utmp -> {ut_pid}, $ utmp -> { ut_user}); } Se admite el siguiente subconjunto de la plantilla () letras de plantilla: i Firmé el entero (predeterminado) i sin firmar el carácter firmado de INTEGERC (un entero de un byte) C carácter sin firmar (entero de un byte entero) S firmado en enteros cortos sin firmar Integernidad corta sin firmar Integer breve sin firmar en la red byte Orderl firmado Integerl largo sin firmar Integernal sin firmar Integro largo sin firmar en el byte de la red Orderf Floatd Doublean Longitud fija, ASCII ASII de longitud de la longitud fija NAN, longitud ASCII ASII de longitud de la longitud fija NZN, cadena ASCII terminada en NULL Longitud N El tamaño de la matriz se define por la opción Nels. Si esto es cero, se calcula como el tamaño del archivo dividido por el tamaño del elemento. Si el tamaño del archivo es más pequeño que el tamaño requerido para los elementos solicitados, se escribirá un único byte cero en el byte final del tamaño solicitado. Esto parece evitar que el módulo se muere con una segmentación o error de bus si se accede a la memoria más allá del final del archivo y generalmente se traduce en un archivo con orificios (bloques no asignados). Los detalles precisos del comportamiento del módulo están sujetos a cambios.Synopsis Uso TIE :: MMAPARRAY; Tie @Array, 'Tie :: MmapArray', $ nombre de archivo; Tie @Array, 'Tie :: MmapArray', $ FileName, $ plantilla; Tie @Array, 'Tie :: MmapArray', $ FileName, {Template => $ Template, Nels => 0, MODE => "RW", Shared => 1, offset => 0}; $ len = (atado @array) -> registrar_size; Requisitos: · Perl


Ate :: mmaparray Software relacionado