Perl: descripción general de la sintaxis

Perl toma prestados la sintaxis y los conceptos de muchos lenguajes: awk, sed, C, Bourne Shell, Smalltalk, Lisp e incluso inglés. Sin embargo, existen algunas diferencias definidas entre los idiomas. Este capítulo está diseñado para que se ponga al día rápidamente con la sintaxis que se espera en Perl.

Un programa de Perl consta de una secuencia de declaraciones y declaraciones, que van de arriba hacia abajo. Los bucles, subrutinas y otras estructuras de control le permiten saltar dentro del código. Cada declaración simple debe terminar con un punto y coma (;).

Perl es un lenguaje de forma libre: puede formatearlo y sangrarlo como desee. El espacio en blanco sirve principalmente para separar tokens, a diferencia de lenguajes como Python, donde es una parte importante de la sintaxis, o Fortran, donde es inmaterial.

Primer programa de Perl

Programación en modo interactivo

Puede utilizar el intérprete de Perl con -eopción en la línea de comando, que le permite ejecutar declaraciones de Perl desde la línea de comando. Probemos algo en $ prompt de la siguiente manera:

$perl -e 'print "Hello World\n"'

Esta ejecución producirá el siguiente resultado:

Hello, world

Programación en modo script

Suponiendo que ya está en $ prompt, abramos un archivo de texto hello.pl usando el editor vi o vim y coloquemos las siguientes líneas dentro de su archivo.

#!/usr/bin/perl

# This will print "Hello, World"
print "Hello, world\n";

aquí /usr/bin/perles el binario real del intérprete de Perl. Antes de ejecutar su script, asegúrese de cambiar el modo del archivo de script y otorgue privilegios de ejecución, generalmente una configuración de 0755 funciona perfectamente y finalmente ejecuta el script anterior de la siguiente manera:

$chmod 0755 hello.pl
$./hello.pl

Esta ejecución producirá el siguiente resultado:

Hello, world

Puede usar paréntesis para los argumentos de las funciones u omitirlos según su gusto personal. Solo se requieren ocasionalmente para aclarar las cuestiones de precedencia. Seguir dos declaraciones produce el mismo resultado.

print("Hello, world\n");
print "Hello, world\n";

Extensión de archivo Perl

Se puede crear un script en Perl dentro de cualquier programa editor de texto simple normal. Hay varios programas disponibles para cada tipo de plataforma. Hay muchos programas diseñados para programadores disponibles para descargar en la web.

Como convención de Perl, un archivo Perl debe guardarse con una extensión de archivo .pl o .PL para que se reconozca como un script Perl en funcionamiento. Los nombres de archivo pueden contener números, símbolos y letras, pero no deben contener espacios. Utilice un guión bajo (_) en lugares de espacios.

Comentarios en Perl

Los comentarios en cualquier lenguaje de programación son amigos de los desarrolladores. Los comentarios se pueden utilizar para hacer que el programa sea fácil de usar y el intérprete simplemente los omite sin afectar la funcionalidad del código. Por ejemplo, en el programa anterior, una línea que comienza con hash# es un comentario.

Simplemente decir comentarios en Perl comienza con un símbolo de almohadilla y corre hasta el final de la línea -

# This is a comment in perl

Las líneas que comienzan con = se interpretan como el comienzo de una sección de documentación incrustada (pod), y el compilador ignora todas las líneas posteriores hasta el siguiente = corte. A continuación se muestra el ejemplo:

#!/usr/bin/perl

# This is a single line comment
print "Hello, world\n";

=begin comment
This is all part of multiline comment.
You can use as many lines as you like
These comments will be ignored by the 
compiler until the next =cut is encountered.
=cut

Esto producirá el siguiente resultado:

Hello, world

Espacios en blanco en Perl

Un programa de Perl no se preocupa por los espacios en blanco. El siguiente programa funciona perfectamente bien:

#!/usr/bin/perl

print       "Hello, world\n";

Pero si los espacios están dentro de las cadenas entre comillas, se imprimirán como están. Por ejemplo

#!/usr/bin/perl

# This would print with a line break in the middle
print "Hello
          world\n";

Esto producirá el siguiente resultado:

Hello
          world

Todos los tipos de espacios en blanco como espacios, tabulaciones, nuevas líneas, etc. son equivalentes para el intérprete cuando se utilizan fuera de las comillas. Una línea que contiene solo espacios en blanco, posiblemente con un comentario, se conoce como línea en blanco y Perl la ignora por completo.

Cotizaciones simples y dobles en Perl

Puede usar comillas dobles o comillas simples alrededor de cadenas literales de la siguiente manera:

#!/usr/bin/perl

print "Hello, world\n";
print 'Hello, world\n';

Esto producirá el siguiente resultado:

Hello, world
Hello, world\n$

Existe una diferencia importante entre las comillas simples y dobles. Solo comillas doblesinterpolatevariables y caracteres especiales como líneas nuevas \ n, mientras que las comillas simples no interpolan ninguna variable o carácter especial. Verifique el siguiente ejemplo en el que estamos usando $ a como variable para almacenar un valor y luego imprimimos ese valor:

#!/usr/bin/perl

$a = 10;
print "Value of a = $a\n";
print 'Value of a = $a\n';

Esto producirá el siguiente resultado:

Value of a = 10
Value of a = $a\n$

Documentos "aquí"

Puede almacenar o imprimir texto multilínea con gran comodidad. Incluso puede hacer uso de variables dentro del documento "aquí". A continuación se muestra una sintaxis simple, verifique cuidadosamente que no debe haber espacio entre << y el identificador.

Un identificador puede ser una palabra simple o un texto citado como usamos EOF a continuación. Si se cita el identificador, el tipo de cita que utilice determina el tratamiento del texto dentro del documento aquí, al igual que en las citas normales. Un identificador sin comillas funciona como comillas dobles.

#!/usr/bin/perl

$a = 10;
$var = <<"EOF";
This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var\n";

$var = <<'EOF';
This is case of single quote so variable value will be 
interpolated. For example value of a = $a
EOF
print "$var\n";

Esto producirá el siguiente resultado:

This is the syntax for here document and it will continue
until it encounters a EOF in the first line.
This is case of double quote so variable value will be
interpolated. For example value of a = 10

This is case of single quote so variable value will be
interpolated. For example value of a = $a

Personajes que escapan

Perl usa el carácter de barra invertida (\) para escapar de cualquier tipo de carácter que pueda interferir con nuestro código. Tomemos un ejemplo en el que queremos imprimir comillas dobles y el signo $ -

#!/usr/bin/perl

$result = "This is \"number\"";
print "$result\n";
print "\$result\n";

Esto producirá el siguiente resultado:

This is "number"
$result

Identificadores de Perl

Un identificador de Perl es un nombre que se usa para identificar una variable, función, clase, módulo u otro objeto. Un nombre de variable Perl comienza con $, @ o% seguido de cero o más letras, guiones bajos y dígitos (0 a 9).

Perl no permite caracteres de puntuación como @, $ y% dentro de los identificadores. Perl es uncase sensitivelenguaje de programación. Así$Manpower y $manpower son dos identificadores diferentes en Perl.