1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-08-11 01:04:10 +02:00

Merge pull request #734 from joaquinferrero/master

Update perl-es.html.markdown
This commit is contained in:
Nami-Doc
2014-08-24 16:58:22 -04:00

View File

@@ -7,23 +7,24 @@ contributors:
- ["Korjavin Ivan", "http://github.com/korjavin"] - ["Korjavin Ivan", "http://github.com/korjavin"]
translators: translators:
- ["Francisco Gomez", "http://github.com/frncscgmz"] - ["Francisco Gomez", "http://github.com/frncscgmz"]
- ["Joaquín Ferrero", "http://github.com/joaquinferrero"]
lang: es-es lang: es-es
--- ---
Perl 5 es un lenguaje de programación altamente capaz, rico en características con mas de 25 años de desarrollo. Perl 5 es un lenguaje de programación altamente capaz, rico en características, con más de 25 años de desarrollo.
Perl 5 corre en mas de 100 plataformas desde portales hasta mainframes y es adecuado para realizar prototipos rápidos hasta desarrollar proyectos a gran escala. Perl 5 corre en más de 100 plataformas, desde portátiles hasta ordenadores centrales, y es adecuado para realizar desde prototipos rápidos hasta desarrollar proyectos a gran escala.
```perl ```perl
# Comentarios de una sola linea con un carácter hash. # Comentarios de una sola línea con un carácter hash
#### Tipos de variables en Perl #### Tipos de variables en Perl
# Las variables comienzan con el símbolo $. # Las variables comienzan con el símbolo $
# Un nombre de variable valido empieza con una letra o un guión bajo, # Un nombre de variable válido empieza con una letra o un guión bajo,
# seguido por cualquier numero de letras, números o guiones bajos. # seguido por cualquier número de letras, números o guiones bajos
### Perl tiene tres tipos principales de variables: escalares, arreglos y hashes. ### Perl tiene tres tipos principales de variables: escalares, arreglos y hashes
## Escalares ## Escalares
# Un escalar representa un solo valor: # Un escalar representa un solo valor:
@@ -31,99 +32,98 @@ my $animal = "camello";
my $respuesta = 42; my $respuesta = 42;
# Los valores escalares pueden ser cadenas de caracteres, números enteros o # Los valores escalares pueden ser cadenas de caracteres, números enteros o
# de punto flotante, Perl automáticamente los convertirá como sea requerido. # de punto flotante; Perl automáticamente los convertirá como sea requerido
## Arreglos ## Arreglos
# Un arreglo representa una lista de valores: # Un arreglo representa una lista de valores:
my @animales = {"camello","llama","buho"}; my @animales = ("camello","llama","buho"};
my @numeros = {23,42,69}; my @numeros = (23, 42, 69);
my @mixto = {"camello",42,1.23}; my @mixto = ("camello", 42, 1.23);
## Hashes ## Hashes
# Un hash representa un conjunto de pares llave/valor: # Un hash representa un conjunto de pares llave/valor:
my %color_fruta = ("manzana","rojo","banana","amarillo");
my %color_fruta = {"manzana","rojo","banana","amarillo"};
# Puedes usar un espacio en blanco y el operador "=>" para asignarlos mas
# fácilmente.
# Puede usar un espacio en blanco y el operador "=>" para asignarlos más fácilmente
my %color_fruta = ( my %color_fruta = (
manzana => "rojo", manzana => "rojo",
banana => "amarillo", banana => "amarillo",
); );
# Los escalares, arreglos y hashes están mas documentados en perldata. (perldoc perldata).
# Los tipos de datos mas complejos pueden ser construidos utilizando # Los escalares, arreglos y hashes están más documentados en perldata (perldoc perldata)
# referencias, las cuales te permiten construir listas y hashes dentro
# de listas y hashes. # Los tipos de datos más complejos se pueden construir utilizando
# referencias, las cuales le permiten construir listas y hashes dentro
# de listas y hashes
#### Estructuras condicionales y de ciclos #### Estructuras condicionales y de ciclos
# Perl tiene la mayoría de las estructuras condicionales y de ciclos mas comunes. # Perl tiene la mayoría de las estructuras condicionales y de ciclos más comunes
if ( $var ) { if ( $var ) {
... ...;
} elsif ( $var eq 'bar' ) { } elsif ( $var eq 'bar' ) {
... ...;
} else { } else {
... ...;
} }
unless ( condicion ) { unless ( condicion ) {
... ...;
} }
# Esto es proporcionado como una version mas fácil de leer que "if (!condición)"
# La post condición al modo Perl # Esto se ofrece como una versión más fácil de leer que "if (!condición)"
# La postcondición al modo Perl:
print "Yow!" if $zippy; print "Yow!" if $zippy;
print "No tenemos bananas" unless $bananas; print "No tenemos bananas" unless $bananas;
# while # while
while ( condicion ) { while ( condicion ) {
... ...;
} }
# for y foreach # for y foreach
for ($i = 0; $i <= $max; $i++) { for ($i = 0; $i <= $max; $i++) {
... ...;
} }
for $i (0 .. $max) {
...;
}
foreach (@array) { foreach (@array) {
print "Este elemento es $_\n"; print "Este elemento es $_\n";
} }
#### Expresiones regulares #### Expresiones regulares
# El soporte de expresiones regulares en Perl es muy amplio y profundo, y es # El soporte de expresiones regulares en Perl es muy amplio y profundo, y
# sujeto a una extensa documentación en perlrequick, perlretut, entre otros. # está sujeto a una extensa documentación en perlrequick, perlretut, entre otros.
# Sin embargo, resumiendo: # Sin embargo, resumiendo:
# Pareo simple # Coincidencia simple
if (/foo/) { ... } # verdadero si $_ contiene "foo" if (/foo/) { ... } # verdadero si $_ contiene "foo"
if ($a =~ /foo/) { ... } # verdadero si $a contiene "foo" if ($a =~ /foo/) { ... } # verdadero si $a contiene "foo"
# Substitución simple # Substitución simple
$a =~ s/foo/bar/; # remplaza foo con bar en $a $a =~ s/foo/bar/; # remplaza "foo" con "bar" en $a
$a =~ s/foo/bar/g; # remplaza TODAS LAS INSTANCIAS de foo con bar en $a $a =~ s/foo/bar/g; # remplaza TODAS LAS INSTANCIAS de "foo" con "bar" en $a
#### Archivos e I/O #### Archivos y E/S
# Puedes abrir un archivo para obtener datos o escribirlos utilizando la # Puede abrir un archivo para obtener datos o escribirlos utilizando la
# función "open()". # función "open()"
open(my $entrada, "<" "entrada.txt") or die "No es posible abrir entrada.txt: $!"; open(my $entrada, "<" "entrada.txt") or die "No es posible abrir entrada.txt: $!";
open(my $salida, ">", "salida.txt") or die "No es posible abrir salida.txt: $!"; open(my $salida, ">", "salida.txt") or die "No es posible abrir salida.txt: $!";
open(my $log, ">>", "mi.log") or die "No es posible abrir mi.log: $!"; open(my $log, ">>", "mi.log") or die "No es posible abrir mi.log: $!";
# Es posible leer desde un gestor de archivo abierto utilizando el operador "<>" # Es posible leer desde un gestor de archivo abierto utilizando el operador "<>".
# operador. En contexto escalar leer una sola linea desde el gestor de # En contexto escalar, leer una sola línea desde el gestor de archivo, y
# archivo, y en contexto de lista leer el archivo completo en donde, asigna # en contexto de lista, leer el archivo completo en donde asigna
# cada linea a un elemento de la lista. # cada línea a un elemento de la lista
my $linea = <$entrada>; my $linea = <$entrada>;
my @lineas = <$entrada>; my @lineas = <$entrada>;
@@ -131,30 +131,26 @@ my @lineas = <$entrada>;
#### Escribiendo subrutinas #### Escribiendo subrutinas
# Escribir subrutinas es fácil: # Escribir subrutinas es fácil:
sub logger { sub logger {
my $mensajelog = shift; my $mensajelog = shift;
open my $archivolog, ">>", "mi.log" or die "No es posible abrir mi.log: $!"; open my $archivolog, ">>", "mi.log" or die "No es posible abrir mi.log: $!";
print $archivolog $mensajelog; print $archivolog $mensajelog;
} }
# Ahora podemos utilizar la subrutina al igual que cualquier otra función # Ahora podemos utilizar la subrutina al igual que cualquier otra función incorporada:
# incorporada:
logger("Tenemos una subrutina logger!"); logger("Tenemos una subrutina logger!");
``` ```
#### Utilizando módulos Perl #### Utilizando módulos Perl
Los módulos en Perl proveen una gama de funciones que te pueden ayudar a evitar reinventar la rueda, estas pueden ser descargadas desde CPAN( http://www.cpan.org/ ). Algunos de los módulos mas populares ya están incluidos con la misma distribución de Perl. Los módulos en Perl proveen de una gama de funciones que le pueden ayudar a evitar reinventar la rueda. Éstas se pueden descargar desde CPAN ( http://www.cpan.org/ ). Algunos de los módulos más populares ya están incluidos con la misma distribución de Perl.
perlfaq contiene preguntas y respuestas relacionadas con muchas tareas comunes, y algunas veces provee sugerencias sobre buenos módulos CPAN para usar. perlfaq contiene preguntas y respuestas relacionadas con muchas tareas comunes, y algunas veces provee sugerencias sobre buenos módulos de CPAN que puede usar.
#### Material de Lectura #### Material de Lectura
- [perl-tutorial](http://perl-tutorial.org/) - [perl-tutorial](http://perl-tutorial.org/)
- [Aprende en www.perl.com](http://www.perl.org/learn.html) - [Learn Perl](http://www.perl.org/learn.html)
- [perldoc](http://perldoc.perl.org/) - [perldoc](http://perldoc.perl.org/)
- y perl incorporado: `perldoc perlintro` - y en su propio perl: `perldoc perlintro`