Perl er designet til at læse og manipulere tekstdata. Det er nemt at manipulere sine tre grundlæggende datastrukturer ( skalar , listen og hash ), da Perl fortolkeren kan skrive det baseret på kontekstuelle data. De mest almindeligt manipulerede dataformat i Perl er kommaseparerede værdier. Instruktioner
1
Åbn datafil , hvis du ikke læser data fra STDIN eller DATA . Brug en filehandle der er let at identificere : "open CSVFILE " test.csv ","
2
Læs dataene. Med små filer, kan du læse alle linjer på en gang . For store filer , skal du være læse en linje ad gangen og behandle den , før du læser den næste linje. Her er vinklen beslag "magiske syntaks " for læsning alle linjer bruges til at læse alle linier i array @ linjer: "@ linier = ; "
3
Strip linieskift den slutningen af hver linje , ved hjælp af kortfunktion . De nye linjer er ikke nødvendigt , da de er meningsløse , når alle linjer læses i. kortfunktion vil kalde blokken sendes som det første argument for hvert element i listen : "map ( { chomp } @ linjer) ," < br >
4
Split linjerne. De kommaseparerede værdier skal opdeles i arrays , der kan opnås ved hjælp af split -og kortfunktion . Linierne bliver genindtrådte på en lignende måde , når dataene vil blive udskrevet igen. " @ linjer = kort ( { [ split /, /]} @ linier ) " .
5.
manipulere data , nu hvor alle data i hukommelsen er i et lettilgængeligt format
6
Loop over dem med foreach søgeord. Den foreach søgeord kører en blok for hvert element i et array , tildele hver array element en henvisning til standard variabel. I dette eksempel antages det andet felt ( arrayindeks of 1) indeholder en numerisk værdi , og tilføjer 20 til det. Alle andre manipulationer , herunder matematik og snor manipulationer , kan udføres på en lignende måde : " foreach ( @ linjer) { $ _ -> [1 ] + = 20; }"
7
Genopret data, inden den kan skrives tilbage til en csv -fil. Felterne skal genindtrådte med komma : " @ linjer = kort ({ join" , " @ { $ _ }} @ linjer) ,"
8
Print dataene. Igen, du vil sløjfe løbet @ linjer, men denne gang kun udskrive hver linje. Her linjerne udskrives til STDOUT , men du kunne lige så nemt at åbne en anden fil og print til at: ;
< "{ \\ n" foreach ( @ linjer) print $ _ . "} " br >