Razgledavanje tekstualnih datoteka pomoću Perl

Razgledavanje tekstualnih datoteka jedan je od razloga što je Perl odličan alat za vađenje i skriptiranje podataka.

Kao što ćete vidjeti u nastavku, Perl se može koristiti za temeljno preoblikovanje grupe teksta. Ako pogledate dolje prvi dio teksta, a zatim zadnji dio pri dnu stranice, možete vidjeti da je kod u sredini onaj koji prvi skup pretvara u drugi.

Kako raščlaniti tekstualne datoteke

Kao primjer, napravimo mali program koji otvara datoteku podataka odvojene karticama i raščlanjuje stupce u nešto što možemo koristiti.

Recite, na primjer, da vam šef preda datoteku s popisom imena, e-pošte i brojevima telefona i želi da pročitate datoteku i učinite nešto s informacijama, poput stavljanja u bazu podataka ili samo ispisa u lijepo oblikovanom obliku izvješće.

Stupci datoteke odvojeni su s TAB znakom i izgledali bi ovako:

 Larry [email protected] 111-1111

 Curly [email protected] 222-2222

 Moe [email protected] 333-3333 

Evo potpunog popisa s kojim ćemo raditi:

 #! / Usr / bin / perl


 otvoreno (FILE, 'data.txt');
instagram viewer

 dok () {

 chomp;

 ($ name, $ email, $ phone) = split ("\ t");

 ispis "Ime: $ name \ n";

 ispis "Email: $ email \ n";

 ispis "Telefon: $ telefon \ n";

 ispis "\ n";

 }

 zatvoriti (FILE);

 Izlaz;


Bilješka: Ovo povlači neki kôd iz udžbenika na kako čitati i pisati datoteke na Perlu.

Ono što prvo napravi je a datoteka koji se zove data.txt (koji bi trebao biti smješten u istom direktoriju kao i skripta Perl). Zatim, ona čita datoteku u catchall varijablu $ _ redak po red. U ovom slučaju je $ _ podrazumijeva a zapravo se ne koristi u kodu.

Nakon čitanja u retku, bilo koji bijeli prostor je chomped s kraja. Zatim se split funkcija koristi da se prekine linija na znaku kartice. U tom slučaju kartica je predstavljena kodom \ t. Lijevo od znaka raskola vidjet ćete da dodijeljujem skupinu od tri različite varijable. One predstavljaju jedan za svaki stupac retka.

Konačno, svaka varijabla koja je odvojena od retka datoteke ispisuje se odvojeno, tako da možete vidjeti kako pojedinačno pristupiti podacima svakog stupca.

Izlaz skripte trebao bi izgledati ovako:

 Ime: Larry

 E-adresa: [email protected]

 Telefon: 111-1111


 Ime: kovrčavo

 E-adresa: [email protected]

 Telefon: 222-2222


 Ime: Moe

 E-adresa: [email protected]

 Telefon: 333-3333


Iako u ovom primjeru samo ispisujemo podatke, bilo bi vrlo jednostavno pohraniti iste podatke, raščlanjene iz TSV ili CSV datoteke, u punopravnu bazu podataka.

instagram story viewer