Perl è progettato per la lettura e la manipolazione di dati di testo . E 'facile manipolare le sue tre strutture dati di base ( lo scalare , la lista e l'hash ), perché l'interprete Perl può digitarlo sulla base di dati contestuali . Il formato dei dati più comunemente manipolati in Perl è valori separati da virgole . Istruzioni
1
Aprire il file di dati , se non state leggendo i dati dallo standard input o DATA . Utilizzare un filehandle che è facilmente identificabile : " csvfile aperto , " test.csv " ; "
2
leggere i dati. Con file di piccole dimensioni , è possibile leggere tutte le righe in una volta . Per i file di grandi dimensioni , si dovrebbe leggere una riga alla volta e processarlo prima di leggere la riga successiva . Qui , la parentesi angolare " sintassi magico" per la lettura di tutte le linee viene utilizzata per leggere tutte le righe nella matrice @ linee : "@ righe =; "
3
Spellare i ritorni a capo del fine di ogni riga , utilizzando la funzione di mappa . Non sono necessarie le nuove righe , in quanto sono privi di significato una volta che tutte le linee sono lette in La funzione mappa chiamerà il blocco passato come primo argomento per ogni elemento della lista : " map ( { chomp } @ linee )," < br >
4
Spalato le linee. I valori separati da virgole devono essere suddivisi in array , che può essere ottenuto utilizzando la scissione e la funzione mappa . Le linee saranno ricongiunti in modo simile quando i dati saranno stampati nuovamente . " @ righe = map ( { [ gruppo /, /]} @ linee ) ; " .
5
manipolare i dati , ora che tutti i dati in memoria in un formato facilmente accessibile
Pagina 6
loop su di loro con la parola chiave foreach . La parola chiave foreach viene eseguito un blocco per ogni elemento di un array , assegnando a ciascun elemento dell'array un riferimento alla variabile predefinita . Questo esempio presuppone il secondo campo ( indice di campo 1) contiene un valore numerico , e aggiunge 20 ad esso . Eventuali altre manipolazioni , tra la matematica e la manipolazione di stringhe , possono essere eseguite in modo simile : " foreach ( @ righe) { $ _ - > [ 1 ] + = 20; }"
7
Rejoin l' dati prima che possa essere ripristinato in un file csv . I campi devono essere ricongiunto con la virgola : " @ righe = map ( { join" , " , @ { $ _ }} @ righe) ; "
8
Stampa i dati. Anche in questo caso , è in loop oltre @ linee , ma questa volta solo stampare ogni riga . Qui le linee sono stampate su STDOUT , ma si potrebbe facilmente aprire un altro file e stampa a che: ;
< "{ \\ n" foreach ( @ linee ) print $ _ . " }" br>