A szöveges fájlok elemzése az egyik oka annak, hogy a Perl nagyszerű adatbányászási és parancsfájl-készítési eszközt készít.
Amint látni fogja az alábbiakban, a Perl felhasználható alapvetõen egy szövegcsoport újraformázására. Ha lenézi a szöveg első részét, majd az oldal alján az utolsó részt, láthatja, hogy a középső kód az, ami az első halmazt a másodikvá alakítja.
A szöveges fájlok elemzése
Például készítsünk egy kis programot, amely megnyitja a fülön elválasztott adatfájlt, és elemzi az oszlopokat valami felhasználható elemként.
Mondja például, hogy a főnöke átad neked, e-mailekkel és telefonszámok listájával rendelkező fájlt, és el akarja olvasni a fájlt, és csináljon valamit az információkkal, például tegye adatbázisba, vagy egyszerűen szépen kinyomtassa jelentés.
A fájl oszlopai elválasztva vannak a TAB karakterről, és így néznek ki:
Larry [email protected] 111-1111
Göndör göndö[email protected] 222-2222
Moe [email protected] 333-3333
Itt található a teljes lista, amellyel dolgozunk:
#! / Usr / bin / perl
nyitott (FILE, 'data.txt');
míg () {
chomp;
($ név, $ e-mail, $ telefon) = split ("\ t");
print "Név: $ name \ n";
print "Email: $ email \ n";
print "Telefon: $ telefon \ n";
nyomtatás "\ n";
}
bezár (FÁJL);
kijárat;
Jegyzet: Ez előhív egy kódot az oktatóanyagból hogyan lehet fájlokat olvasni és írni Perl-ben.
Amit először csinál, nyitott a fájl úgynevezett data.txt (amelynek ugyanabban a könyvtárban kell lennie, mint a Perl szkriptnek). Ezután soronként beolvassa a fájlt a $ _ gyorsítótár-változóba. Ebben az esetben a $ _ értéke hallgatólagos és valójában nem használják a kódban.
Miután egy sorban olvasott, minden szóköz szóköz chomped végén. Ezután a split funkció használatával megszakítja a sort a fül karakterén. Ebben az esetben a fület kód jelzi \ t. A felosztás jele bal oldalán látni fogod, hogy három különböző változóból álló csoportot rendelek. Ezek a sor minden oszlopához egyet képviselnek.
Végül minden, a fájl sorától elválasztott változót külön kell kinyomtatni, hogy láthassa, hogyan érheti el az egyes oszlopok adatait külön-külön.
A szkript kimenetének így kell kinéznie:
Név: Larry
E-mail: [email protected]
Telefon: 111-1111
Név: Göndör
E-mail: [email protected]
Telefon: 222-2222
Név: Moe
E-mail: [email protected]
Telefon: 333-3333
Bár ebben a példában csak az adatokat nyomtatjuk ki, rendkívül egyszerű lenne ugyanazt az információt tárolni egy TSV vagy CSV fájlból egy teljes értékű adatbázisban.