Tekstitiedostojen jäsentäminen Perlin avulla

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:

 Larry [email protected] 111-1111

 Curly [email protected] 222-2222

 Moe [email protected] 333-3333 

Tässä on täydellinen luettelo, jonka kanssa työskentelemme:

instagram viewer
 #! / 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.

instagram story viewer