Sintaxis básica de Perl

Perl toma prestadas características de C, sed, awk, scripts de shell y muchos otros lenguajes de programación. Su sintaxis es algo similar a estos lenguajes, pero también tiene sus propias particularidades.

Los programas en Perl se componen de declaraciones y sentencias. El programa se ejecuta de arriba hacia abajo e incluye bucles y control de condiciones. Cada sentencia termina con punto y coma;fin.

El lenguaje Perl no tiene reglas de formato estrictas; puedes aplicar sangría según el estilo que prefieras.


Primer programa en Perl

Programación interactiva

Puedes usar en la línea de comandos-ela opción para ingresar sentencias y ejecutar código, como en el siguiente ejemplo:

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

Después de ingresar el comando anterior y presionar Enter, el resultado es:

Hello World

Programación con scripts

Ponemos el siguiente código enhello.plel archivo:

Ejemplo

#!/usr/bin/perl # Imprime "Hello, World" print "Hello, world\n";

En el código/usr/bin/perles la ruta del intérprete de Perl. Antes de ejecutar el script, asegúrate de que el archivo tenga permisos de ejecución; podemos cambiar los permisos del archivo a 0755:

$ chmod 0755 hello.pl 
$ ./hello.pl 
Hello, world                   # 输出结果

print también puede usar paréntesis para imprimir cadenas; las dos sentencias siguientes producen el mismo resultado:

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

Archivo de script

El código Perl se puede escribir en un archivo de texto, usando .pl, .PL como extensiones.

Los nombres de archivo pueden contener números, símbolos y letras, pero no pueden contener espacios; se puede usar el guion bajo (_) en lugar de espacios.

Un nombre de archivo Perl simple:

run_oob.pl

Comentarios

Usar comentarios hace que tu programa sea legible; es un buen hábito de programación.

El método de comentario en Perl es usar el carácter # al comienzo de la sentencia, por ejemplo:

# 这一行是 perl 中的注释

Perl también admite comentarios de varias líneas. El método más común es usar POD (Plain Old Documentations) para comentarios multilínea. El método es el siguiente:

Ejemplo

#!/usr/bin/perl # Este es un comentario de una línea print "Hello, world\n"; =podComentario Este es un comentario multilínea Este es un comentario multilínea Este es un comentario multilínea Este es un comentario multilínea=cut

Al ejecutar el programa anterior, el resultado es:

Hello, world

Nota:

  • =pod, =cut solo pueden estar al inicio de la línea.
  • Comienza con =, termina con =cut.
  • Después de = debe ir inmediatamente un carácter; después de =cut no es necesario.

Espacios en blanco en Perl

El intérprete de Perl no se preocupa por cuántos espacios en blanco haya; el siguiente programa también puede ejecutarse normalmente:

Ejemplo

#!/usr/bin/perl print "Hello, world\n";

Al ejecutar el programa anterior, el resultado es:

Hello, world

Pero si los espacios y saltos de línea aparecen dentro de una cadena, se imprimirán tal cual:

Ejemplo

#!/usr/bin/perl # Producirá saltos de línea print "Hello world\n";

Al ejecutar el programa anterior, el resultado es:

Hello
          world

Todos los tipos de espacios en blanco, como espacios, tabulaciones, líneas en blanco, etc., son ignorados por el intérprete si están fuera de las comillas; si están dentro de las comillas, se imprimen tal cual.


Comillas simples y dobles

Perl puede usar comillas simples o dobles para imprimir cadenas, como se muestra a continuación:

Ejemplo

#!/usr/bin/perl print "Hello, world\n"; # Comillas dobles print 'Hello, world\n'; # Comillas simples

El resultado es el siguiente:

Hello, world
Hello, world\n

Del resultado podemos ver que con comillas dobles \n se genera un salto de línea, pero con comillas simples no.

La diferencia entre comillas dobles y simples en Perl: las comillas dobles pueden interpretar correctamente algunos caracteres de escape y variables, mientras que las comillas simples no los interpretan y los imprimen tal cual.

Ejemplo

#!/usr/bin/perl $a = 10; print "a = $a\n"; print 'a = $a\n';

El resultado es el siguiente:

a = 10
a = $a\n

Here Document

Here Document también se conoce como heredoc, hereis, here-string o here-script. Es un método para definir una cadena en shells de línea de comandos (como sh, csh, ksh, bash, PowerShell y zsh) y en lenguajes de programación (como Perl, PHP, Python y Ruby).

Resumen de uso:

  • 1. Debe ir seguido de punto y coma; de lo contrario, no compila.
  • 2. EOF puede reemplazarse por cualquier otro carácter; solo hay que asegurarse de que el marcador final coincida con el marcador inicial.
  • 3. El marcador final debe estar solo en una línea, comenzando desde el principio (es decir, debe empezar al inicio de la línea, sin espacios ni caracteres antes o después).
  • 4. El marcador inicial puede ir sin comillas, con comillas simples o con comillas dobles. Sin comillas es equivalente a usar comillas dobles: se interpretan las variables integradas y los símbolos de escape. Con comillas simples no se interpretan las variables integradas ni los símbolos de escape.
  • 5. Cuando el contenido necesita incluir comillas (simples o dobles), no se requiere añadir caracteres de escape; de hecho, se escapan las comillas simples y dobles. Esto es equivalente al uso de q y qq.

Ejemplo

#!/usr/bin/perl $a = 10; $var = <<"EOF"; Este es unHereejemplo de documento, usando comillas dobles. Puedes ingresar cadenas y variables aquí. Por ejemplo:a = $a EOF print "$var\n"; $var = <<'EOF'; Este es unHereejemplo de documento, usando comillas simples. Por ejemplo:a = $a EOF print "$var\n";

Al ejecutar el programa anterior, el resultado es:

这是一个 Here 文档实例,使用双引号。
可以在这输入字符串和变量。
例如:a = 10

这是一个 Here 文档实例,使用单引号。
例如:a = $a

Caracteres de escape

Si necesitamos imprimir un carácter especial, podemos usar la barra invertida (\) para escapar, por ejemplo, para imprimir el símbolo de dólar ($):

Ejemplo

#!/usr/bin/perl $result = "Tutorial para novatos\"ejemplo\""; print "$result\n"; print "\$result\n";

Al ejecutar el programa anterior, el resultado es:


Identificadores en Perl

Los identificadores de Perl son los nombres que los usuarios usan al programar; los nombres de variables, constantes, funciones, bloques de sentencias, etc., usados en el programa, se denominan colectivamente identificadores.

  • Los componentes de un identificador: letras inglesas (a~z, A~Z), números (0~9) y guion bajo (_).
  • Los identificadores comienzan con una letra inglesa o guion bajo.
  • Los identificadores distinguen entre mayúsculas y minúsculas; $ejemplo y $Ejemplo representan dos variables diferentes.
Otras extensiones