Krawatte :: MMAPARRAY.

MMAP Eine Datei als gebundenes Array
Jetzt downloaden

Krawatte :: MMAPARRAY. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Andrew Ford
  • Website des Verlags:
  • http://search.cpan.org/~andrewf/

Krawatte :: MMAPARRAY. Stichworte


Krawatte :: MMAPARRAY. Beschreibung

MMAP A-Datei als gebundenes Array Krawatte :: MMApparray ist ein Perl-Modul, mit dem Sie MMAP verwenden können, um in einer Datei als Perl-Array zuzuordnen, anstatt die Datei in dynamisch zugewiesener Speicher zu lesen. Es hängt von Ihrem Betriebssystem ab, das UNIX oder POSIX.1B MMAP unterstützt. (Code zur Verwendung der gleichwertigen Funktionen auf Win32-Plattformen wurde beigetragen, wurde jedoch noch nicht getestet.) Die Art der Array-Elemente wird durch das Vorlagenargument oder die Option definiert. Dies ist eine Perl-Pack () - Stilvorlage, die standardmäßig auf "i" ist. Die Vorlage kann eine Array-Referenz sein, wobei die Elemente für jedes Element durch Paare von Namen und Vorlagen definiert sind. Eine Vorlagen-Zeichenfolge kann mehrere Felder definieren, wobei dieses Element als Anordnung von Feldern angesehen wird (die nicht von demselben Typ angesehen wird (das nicht von demselben Typ sein muss). Das folgende Beispiel zeigt die UTMP-Datei auf Linux, die einem Array zugeordnet ist: Krawatten @Utmp, ' Krawatte :: maparray ',' / var / log / utmp ', {Mode => "RW", Template => , ut_session => 'l', ut_tv => , ut_addr_v6 => 'l4', pad => 'a20']}; Dies kann wie folgt gescannt werden: für (mein $ i = 0; $ i <@utmp; $ i ++) {printf ("pid:% d benutzer:% s \ n" $ utmp -> {ut_pid}, $ utmp -> { ut_user}); } Die folgende Teilmenge von Pack () Orderl unterzeichnete lange Integerl unsignierte lange Integers unsignierte lange Ganzzahl in Network Byte BestellF FLOATD DUILLEAN FORINT LANGE, NULL-PADDED ASCII-Saite der Länge NaN-Länge, platzgepolsterte ASCII-Zeichenfolge NZN-NZN-Festlänge, null-terminierte ASCII-String von Die Länge der Größe des Arrays wird durch die NELS-Option definiert. Wenn dies Null ist, wird er als die von der Elementgröße geteilte Dateigröße berechnet. Wenn die Dateigröße kleiner als die für die angeforderte Elemente erforderliche Größe ist, wird ein einzelner Nullbyte in das endgültige Byte der angeforderten Größe geschrieben. Dies scheint zu verhindern, dass das Modul mit einem Segmentierungs- oder Busfehler sterbt, wenn der Speicher über das Ende der Datei hinausgegeben wird und im Allgemeinen in einer Datei mit Löchern (nicht zugewiesene Blöcke) führt. Präzise Details des Verhaltens des Moduls unterliegen Änderungen. Synopsis verwenden Krawatte :: mmApparray; Krawatte @array, 'Krawatte :: MMAPARRAY', $ Dateiname; Krawatte @array, 'Krawatte :: MMAPARRAY', $ Dateiname, $ Vorlage; Krawatte @array, 'Krawatte :: MMAPARRAY', $ Dateiname, {Template => $ Template, NELS => 0, MODE => "RW", freigegeben => 1, offset => 0}; $ len = (gebunden @array) -> record_size; Anforderungen: · Perl.


Krawatte :: MMAPARRAY. Zugehörige Software