Perl é projetado para a leitura e manipulação de dados de texto. É fácil de manipular seus três estruturas de dados básicos ( o escalares , a lista e as fritas ), porque o interpretador Perl pode digitá-lo com base em dados contextuais. O formato de dados mais comumente manipulada em Perl é valores separados por vírgulas . Instruções
1
Abra o arquivo de dados , se você não está lendo os dados de STDIN ou DATA. Use um filehandle que é facilmente identificado : " CSVFILE aberta", test.csv "; "
2
ler os dados. Com pequenos arquivos , você pode ler todas as linhas ao mesmo tempo. Para arquivos grandes, você deve ler uma linha de cada vez e processá-lo antes de ler a próxima linha. Aqui, o suporte de ângulo " sintaxe mágica" para a leitura de todas as linhas é usado para ler todas as linhas na matriz @ linhas: "@ linhas =; "
3
Tira as novas linhas do final de cada linha , utilizando a função de mapa. As novas linhas não são necessários , uma vez que não fazem sentido uma vez que todas as linhas são lidas dentro A função mapa irá chamar o bloco passado como o primeiro argumento para cada elemento na lista: " mapa ({ chomp } @ linhas )," < br >
4
Dividir as linhas. Os valores separados por vírgulas precisam ser divididos em matrizes , que podem ser alcançados por meio do desdobramento e da função mapa. As linhas serão reunidos de uma maneira semelhante , quando os dados são impressos novamente . "@ linhas = map ({[ divisão /, /]} @ linhas ); " .
5
manipular os dados , agora que todos os dados na memória está em um formato facilmente acessível
6
loop sobre eles com a palavra-chave foreach. A palavra-chave foreach executa um bloco para cada elemento em uma matriz, atribuindo a cada elemento do array uma referência para a variável padrão. Este exemplo assume que o segundo campo ( índice da matriz de 1) contém um valor numérico, e adiciona 20 para ele. Quaisquer outras manipulações , incluindo matemática e cordas manipulações, pode ser realizada de forma semelhante : " foreach ( @ linhas ) { $ _- > [ 1] + = 20 ; }"
7
voltar a participar do dados antes de ele pode ser escrito de volta para um arquivo CSV . Os campos precisam ser voltou com vírgula: "@ linhas = map ({ juntar ", " , @ { $ _ }} @ linhas ); "
8
Imprima os dados. Mais uma vez, você vai varrer @ linhas , mas desta vez só imprimir cada linha. Aqui as linhas são mostrados na saída padrão , mas você poderia facilmente abrir outro arquivo e imprimir em que: " foreach ( ) { @ linhas . Print $ _ " \\ n " ;} "