NAME
perlcheat - Hoja resumen de Perl 5
DESCRIPCIÓN
Esta 'hoja resumen' es una referencia útil para programadores principiantes. No abarca todo, pero incluye 195 características del lenguaje; no es mal comienzo.
La hoja
CONTEXTOS SIGILOS ref ARRAYS HASHES
nulo $escalar SCALAR @array %hash
escalar @array ARRAY @array[0, 2] @hash{'a', 'b'}
lista %hash HASH $array[0] $hash{'a'}
&sub CODE
*glob GLOB VALORES ESCALARES
FORMAT número, cadena, ref, glob, undef
REFERENCIAS
\ referencia $$foo[1] equivale a $foo->[1]
$@%&* desreferenciar $$foo{bar} equivale a $foo->{bar}
[] ref. array anón. ${$$foo[1]}[2] equivale a $foo->[1]->[2]
{} ref. hash anón. ${$$foo[1]}[2] equivale a $foo->[1][2]
\() lista de ref.
SINTAXIS
PRECEDENCIA OPERADORES foreach (LIST) { } for (a;b;c) { }
-> while (e) { } until (e) { }
++ -- if (e) { } elsif (e) { } else { }
** unless (e) { } elsif (e) { } else { }
! ~ \ u+ u- given (e) { when (e) {} default {} }
=~ !~
* / % x NÚMEROS vs CADENAS FALSO vs VERDADERO
+ - . = = undef, "", 0, "0"
<< >> + . otra cosa
ops unarios con nombre == != eq ne
< > <= >= lt gt le ge < > <= >= lt gt le ge
== != <=> eq ne cmp ~~ <=> cmp
&
| ^ MODIFICADORES REGEX METACARACTERES REGEX
&& /i no distinguir may/min ^ principio cadena
|| // /m basado en líneas ^$ $ fin cadena (antes \n)
.. ... /s . incluir \n + uno o más
?: /x ignorar espacios * cero o más
= += last goto /p preservar ? cero o uno
, => /a ASCII /aa seguro {3,7} repeticiones en rango
ops lista /l config. reg. /d dual | alternancia
not /u Unicode [] clase caracteres
and /e evaluar /ee reevaluar \b límite
or xor /g global \z fin de cadena
/o compilar patrón una vez () capturar
DEPURACIÓN (?:p) sin captura
-MO=Deparse CLASES CARACTERES EXP. REG. (?#t) comentario
-MO=Terse . [^\n] (?=p) inspec. pos. delante
-D## \s espacio en blanco (?!p) inspec. neg delante
-d:Trace \w caracteres palabra (?<=p) inspec. pos. atrás \K
\d dígitos (?<!p) inspec. neg. atrás
CONFIGURACIÓN \pP propiedad con nombre (?>p) sin vuelta atrás
perl -V:ivsize \h espacio en blanco horiz. (?|p|p) reinicio bifurcación
\R salto de línea (?<n>p) captura con nombre
\S \W \D \H negar \g{n} ref a captura con nombre
\K mantener parte izquierda
LISTAS RETORNO FUNCIONES
stat localtime caller VARIABLES ESPECIALES
0 dev 0 segundo 0 paquete $_ variable predeterminada
1 ino 1 minuto 1 nombre archivo $0 nombre programa
2 mode 2 hora 2 línea $/ separador entrada
3 nlink 3 día 3 subrutina $\ separador salida
4 uid 4 mes-1 4 hasargs $| volcado automático
5 gid 5 año-1900 5 wantarray $! error de sys/libcall
6 rdev 6 día semana 6 evaltext $@ error eval
7 size 7 día año 7 is_require $$ Id. proceso
8 atime 8 is_dst 8 hints $. número de línea
9 mtime 9 máscara bits @ARGV args línea comandos
10 ctime 10 hash de pistas @INC rutas de inclusión
11 blksz 3..10 solo @_ args subroutina
12 blcks con EXPR %ENV entorno
AGRADECIMIENTOS
La primera versión de este documento se publicó en Perl Monks, donde muchas personas realizaron útiles sugerencias. Gracias, Perl Monks.
Debemos un agradecimiento especial a Damian Conway, quien no sólo sugirió importantes cambios, sino que también se entretuvo en contar el número de características incluidas y creó una versión para Perl 6 con el fin de demostrar que Perl seguirá siendo Perl.
AUTOR
Juerd Waalboer <#####@juerd.nl>, con la ayuda de muchos Perl Monks.
VEA TAMBIÉN
http://perlmonks.org/?node_id=216602 - Artículo original de PM
http://perlmonks.org/?node_id=238031 - Versión para Perl 6 de Damian Conway
http://juerd.nl/site.plp/perlcheat - Página de la hoja resumen de Perl
TRADUCTORES
Joaquín Ferrero (Tech Lead)
Enrique Nell (Language Lead)