Los caracteres \n (barra invertida y n) en Perl

Es frecuente que, en el código del programa en Perl se puede encontrar una combinación de caracteres, \n.

En el lenguaje de programación Perl, como en muchos otros idiomas de programación, estos dos caracteres cerca significan un carácter de salto de línea. Más detalles.

He aquí un ejemplo de código en el que se utiliza \n:

▶ Run
#!/usr/bin/perl

print "line 1\n";
print "line 2\n";

Si guarda el texto en un archivo script.pl y ejecutarlo con el perl script.pl, en la pantalla aparecerá:

line 1
line 2

De la conclusión del programa se ve que el texto de la line 1 está en la misma línea, y el texto de la line 2 en el otro. Fue precisamente gracias a los símbolos \n en el equipo de print "line 1\n";. La palabra clave printmuestra en la pantalla de sus argumentos. Aquí como argumento se utiliza la cadena de "line 1\n". Perl muestra en la pantalla todos los caracteres de la cadena. La combinación de símbolos \n es un carácter especial, que habla sobre lo que el texto siguiente por estos caracteres se desea mostrar con una nueva línea.

Uso de la traducción de cadenas

Puede escribir un programa que funciona exactamente igual que el anterior programa, sin el uso de símbolos \n en el código. He aquí cómo hacerlo:

▶ Run
#!/usr/bin/perl

print "line 1
";
print "line 2
";

Aquí, en lugar del símbolo \n se utiliza el presente saltos de línea en el código del programa.

El uso del carácter \n y el presente de la traducción de la cadena claro que la misma cadena. He aquí un ejemplo de código que muestra de que esto es realmente así (cuando se ejecuta este programa mostrará strings are the same):

▶ Run
#!/usr/bin/perl

my $str1 = "line\n";

my $str2 = "line
";

if ($str1 eq $str2) {
    print "strings are the same";
} else {
    print "strings differ";
}

Las comillas simples y dobles

Los caracteres \n se convierten en un avance de línea sólo si se utilizan comillas dobles. Si el uso de caracteres \n, entre comillas, lo que se mantendrá dos caracteres de barra invertida y américa latina la letra de la n.

▶ Run
#!/usr/bin/perl

print 'line 1\n';
print 'line 2\n';

Cuando se ejecuta este código, en la pantalla aparece el texto

line 1\nline 2\n

\n — es un símbolo que

Puede asegurarse de que cuando se utiliza \n entre comillas — en realidad, es un símbolo.

▶ Run
#!/usr/bin/perl

print length("\n"), "\n";
print length('\n'), "\n";

Este programa mostrará el número 1 de la primera línea y el número 2 en la segunda línea. \n entre comillas es un carácter, \n entre comillas son dos símbolos.

say

Muy a menudo símbolos de \n se utilizan junto c print para bien algo que mostrar en la consola. En lugar de ello, se puede utilizar la palabra clave say. say funciona de la misma manera como print — muestra en la pantalla de sus argumentos, sino que la muestra después de ellos el símbolo de la \n para un salto de línea.

Así que nuestro programa se podría escribir como:

▶ Run
#!/usr/bin/perl

use feature qw(say);

say "line 1";
say "line 2";

Para que para que funcione el print nada más, no tendrás que hacer, pero para el que trabajaba say en el código de Perl del programa es necesario añadir una línea use feature qw(say);. Sin esto no funcionará.

Otros articulos