Tekstitiedostojen jäsentäminen on yksi syy siihen, että Perl tekee loistavasta tiedon louhinta- ja skriptityökalusta.
Kuten alla näet, Perlia voidaan käyttää pohjimmiltaan uudestaan ryhmän tekstiä. Jos katselet alas ensimmäistä tekstin osaa ja sitten viimeistä osaa sivun alaosassa, voit nähdä, että keskellä oleva koodi muuttaa ensimmäisen joukon toiseksi.
Kuinka jäsentää tekstitiedostoja
Rakennetaan esimerkiksi pieni ohjelma, joka avaa välilehdillä erotetun datatiedoston ja jäsentää sarakkeet jotain jota voimme käyttää.
Sano esimerkiksi, että pomosi luovuttaa sinulle tiedoston, jossa on luettelo nimistä, sähköposteista ja puhelinnumeroista, ja haluaa sinun lukevan tiedostoa ja tehdä jotain tietojen kanssa, esimerkiksi laittaa se tietokantaan tai tulostaa vain hienosti muotoiltu raportti.
Tiedoston sarakkeet on erotettu TAB-merkillä ja näyttävät siltä noin:
Tässä on täydellinen luettelo, jonka kanssa työskentelemme:
#! / Usr / bin / perl
avoin (TIEDOSTO, 'data.txt');
sillä aikaa () {
chomp;
($ nimi, $ sähköposti, $ puhelin) = split ("\ t");
tulosta "Nimi: $ nimi \ n";
tulosta "Email: $ email \ n";
tulosta "Puhelin: $ puhelin \ n";
tulosta "\ n";
}
sulje (TIEDOSTO);
poistua;
Huomautus: Tämä vetää koodin opetusohjelmasta kuinka tiedostoja voidaan lukea ja kirjoittaa Perlissa.
Mitä se tekee ensin, on avoin a tiedosto nimeltään data.txt (sen tulisi sijaita samassa hakemistossa kuin Perl-skripti). Sitten se lukee tiedoston riviltä riviltä cachall-muuttujaan $ _. Tässä tapauksessa $ _ on hiljaista eikä sitä tosiasiallisesti käytetä koodissa.
Kun olet lukenut rivillä, tyhjä tila on chomped lopussa. Sitten jako-toimintoa käytetään rivin katkaisemiseen välilehden merkissä. Tässä tapauksessa välilehteä edustaa koodi \ t. Jaon merkin vasemmalla puolella näet, että annan ryhmän, joka koostuu kolmesta eri muuttujasta. Ne edustavat yhtä jokaiselle rivin sarakkeelle.
Lopuksi jokainen muuttuja, joka on jaettu tiedoston riviltä, tulostetaan erikseen, jotta näet kuinka pääset kunkin sarakkeen tietoihin erikseen.
Komentosarjan tuloksen tulisi näyttää noin:
Nimi: Larry
Sähköposti: [email protected]
Puhelin: 111-1111
Nimi: kihara
Sähköposti: [email protected]
Puhelin: 222-2222
Nimi: Moe
Sähköposti: [email protected]
Puhelin: 333-3333
Vaikka tässä esimerkissä tulostamme vain tietoja, olisi triviaalia helppo tallentaa samat tiedot, jotka on hajautettu TSV- tai CSV-tiedostosta, täysimittaiseen tietokantaan.