TIE :: MMAPARRAY

MMAP een bestand als een gebonden array
Download nu

TIE :: MMAPARRAY Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Andrew Ford
  • Uitgever website:
  • http://search.cpan.org/~andrewf/

TIE :: MMAPARRAY Tags


TIE :: MMAPARRAY Beschrijving

MMAP een bestand als een gebonden array TIE :: MMAPARRAY is een PERL-module waarmee u MMAP kunt gebruiken om in een bestand in kaart te brengen als een perl-array in plaats van het bestand in dynamisch toegewezen geheugen te lezen. Het hangt af van uw besturingssysteem dat UNIX of POSIX.1B MMAP kan ondersteunen, natuurlijk. (Code om de equivalente functies op Win32-platforms te gebruiken is bijgedragen, maar is nog niet getest.) Het type array-elementen wordt gedefinieerd door het template-argument of optie. Dit is een Perl-pakket () - Stijlsjabloon, die standaard is op "I". De sjabloon kan een array-referentie zijn, in welk geval de elementen worden gedefinieerd door paren van naam en sjabloon voor elk element. Een sjabloonstring kan meerdere velden definiëren, in welk geval dat element wordt beschouwd als een reeks velden (die niet van hetzelfde type hoeven te zijn). Het volgende voorbeeld toont het UTMP-bestand op Linux toegewezen aan een array: tie @utmp, ' TIE :: MMAPARRAY ',' / VAR / LOG / UTMP ', {MODE => "RW", Sjabloon => , ut_session => 'l', ut_tv => , UT_ADDR_V6 => 'L4', PAD => 'A20']}; dit kan als volgt worden gescand: voor (mijn $ i = 0; $ I <@utmp; $ i ++) {printf ("pid:% d gebruiker:% s \ n" $ utmp -> {ur_pid}, $ UTMP -> { ut_user}); } De volgende subset van PACK () Sjabloonbrieven wordt ondersteund: ik ondertekende integer (standaard) I Unsigned Intentc ondertekende karakter (één byte integer) C Unsigned karakter (één byte integer) S Ondertekende korte gehele getallen Unsigned korte integer Orderl Ondertekend Lange Integerl Unsigned Long Integern Unsigned Lange Integer in Netwerk Byte Orderf Floatd Doublean Fixed-lengte, null-gevoerde ASCII-reeks van lengte nan vaste lengte, ruimte-gewatteerde ASCII-reeks van lengte NZN vaste lengte, null-beëindigd ASCII-reeks van de lengte Lengte nthe maat van de array wordt gedefinieerd door de optie Nels. Als dit nul is, wordt het berekend als de bestandsgrootte gedeeld door het elementformaat. Als de bestandsgrootte kleiner is dan het vereiste formaat voor de gevraagde elementen, wordt een enkele nulbyte geschreven naar de laatste byte van de gevraagde grootte. Dit lijkt te voorkomen dat de module sterft met een segmentatie- of busfout als het geheugen toegankelijk is buiten het einde van het bestand en in het algemeen resulteert in een bestand met gaten (niet-toegewezen blokken). Nauwkeurige details van het gedrag van de module zijn onderhevig aan verandering. Synopsis Gebruik TIE :: mmaparray; Bind @array, 'Tie :: mmaparray', $ bestandsnaam; Bind @array, 'stropdas :: mmaparray', $ bestandsnaam, $ sjabloon; Tie @array, 'Tie :: mmaparray', $ bestandsnaam, {template => $ sjabloon, nels => 0, modus => "rw", shared => 1, offset => 0}; $ len = (gebonden @array) -> record_size; Vereisten: · Perl


TIE :: MMAPARRAY Gerelateerde software