Tecnología

Inicio

Cómo manipular datos en Perl

Perl está diseñado para leer y manipular datos de texto. Es fácil de manipular sus tres estructuras de datos básicos (el escalares, la lista y el hash) porque el intérprete Perl puede escribirla en base a datos contextuales. El formato de datos más comúnmente manipulado en Perl es valores separados por comas.

Instrucciones

1 Abra el archivo de datos, si usted no está leyendo los datos de la entrada estándar o de datos. Utilizar un gestor de archivo que se identifica fácilmente:
"open CSVFILE, "test.csv";"

2 Leer los datos. Con archivos pequeños, se puede leer todas las líneas a la vez. Para archivos de gran tamaño, usted debe leer una línea a la vez y procesarla antes de leer la siguiente línea. En este caso, el soporte angular "sintaxis mágica" para la lectura de todas las líneas se utiliza para leer todas las líneas en las @lines matriz:
"@lines = ;" "@lines = ;"

3 Despojar a los saltos de línea al final de cada línea, utilizando la función de mapa. No son necesarios los saltos de línea, ya que no tienen sentido una vez que todas las líneas se leen en la función de mapa llamará al bloque pasado como primer argumento para cada elemento de la lista.:
"map({chomp} @lines);"

4 Dividir las líneas. Los valores separados por comas tengan que ser divididas en matrices, lo cual puede lograrse mediante el uso de la función de división y el mapa. Las líneas se reunieron en una manera similar cuando se imprimirán los datos de nuevo. "@lines = map({[split /,/]} @lines);"

5 Manipular los datos, ya que todos los datos en la memoria está en un formato de fácil acceso.

6 Bucle sobre ellos con la palabra clave foreach. La palabra clave foreach se ejecuta un bloque para cada elemento de una matriz, asignando a cada elemento de la matriz una referencia a la variable por defecto. Este ejemplo asume que el segundo campo (índice de matriz de 1) contiene un valor numérico, y se suma 20 a la misma. Cualquier otra manipulación, incluyendo matemáticas y de cadena manipulaciones, pueden llevarse a cabo de una manera similar:
"foreach (@lines) {
$_->[1] += 20;
}"

7 Reunirse con los datos antes de que se puede escribir de nuevo a un archivo csv. Los campos necesitan ser reincorporado por comas:
"@lines = map({join ",",@{$_}} @lines);"

8 Imprimir los datos. Una vez más, se hará un bucle sobre @lines, pero esta vez sólo se imprime cada línea. Aquí las líneas se imprimen en STDOUT, pero sólo podían abrir con la misma facilidad y otro archivo de impresión para que:
"foreach (@lines) {
print $_ . "\n";
}"

Consejos y advertencias

  • Recuerde que la variable por defecto $ _ no es una variable de lista, sino que es una referencia a una variable de lista. Con el fin de índice de la matriz, primero debe eliminar la referencia de la referencia con el operador ->.