Final de la coma en la lista de Perl

Los elementos de la lista en el lenguaje de programación Perl, se separan mediante el operador coma ,. He aquí un ejemplo el código que crea la matriz en la que se encuentra 3 elementos:

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three');

Perl, a diferencia de, por ejemplo, JSON permite especificar una coma al final de la lista. Este código crea un exactamente la misma matriz como en el pasado ejemplo:

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three',);

Este conjunto se compone de tres elementos. Lo que al final hay una coma no tiene ningún efecto. Se suponer que la presencia de una coma al final de la lista agrega undef como el último valor, pero no, esto no sucede. Si una coma al final de la lista o no, esto no afecta de ningún modo es como Perl interpreta esta lista.

Recomendación

El lenguaje de programación Perl de todos modos, si hay en la lista final de la coma o no, pero programas en se escriben no sólo para los comprenda Perl, pero para que éstos comprendan la gente. Por lo tanto, la siguiente recomendación, si seguir, el código se convierte en un poco más fácil de leer y un poco más fácil de modificar.

La recomendación es la siguiente:

  • si la lista es anotado en la fila, la final de la coma no debe ser
  • si cada elemento de la lista, grabado en una línea independiente, desde el último elemento debe ser una coma

De esta recomendación se debe a que

  • si en el proceso de trabajo de la lista cambia, antes fue grabado en una sola línea y se convirtió en el grabado de valor en la cadena, es necesario agregar la final de la coma
  • y si de varias líneas de la lista, se crea una lista en la misma línea, el final de la coma hay que quitar

He aquí un ejemplo de código en el que se cumple esta recomendación:

▶ Run
#!/usr/bin/perl

my @arr1 = ('one', 'two', 'three');

my @arr2 = (
    'one',
    'two',
    'three',
);

my %h = (
    a => 1,
    b => 2,
);

Si en la lista, cada elemento que escribir en la línea no hay por supuesto una coma y la necesidad de agregar otro elemento de al final de la lista, en el diff consistirá en una remota cadena y dos agregados:

diff --git a/script.pl b/script.pl
index 5634af0..eabe2f1 100644
--- a/script.pl
+++ b/script.pl
@@ -3,5 +3,6 @@
 my @arr = (
     'one',
     'two',
-    'three'
+    'three',
+    'four'
 );

Si la misma recomendación se cumple y al final de esta lista tiene la última coma, entonces diff consta de una clara línea:

diff --git a/script.pl b/script.pl
index 8575677..82b3adf 100644
--- a/script.pl
+++ b/script.pl
@@ -4,4 +4,5 @@ my @arr = (
     'one',
     'two',
     'three',
+    'four',
 );

Otros articulos