POD2-ES
view release on metacpan or search on metacpan
lib/POD2/ES/perlfunc.pod view on Meta::CPAN
L<C<gmtime>|/gmtime EXPR>, L<C<localtime>|/localtime EXPR>, L<C<time>|/time>,
L<C<times>|/times>
=item Palabras clave que no son funciones
=for Pod::Functions =!Non-functions
C<and>, C<AUTOLOAD>, C<BEGIN>, C<CHECK>, C<cmp>, C<CORE>, C<__DATA__>,
C<default>, C<DESTROY>, C<else>, C<elseif>, C<elsif>, C<END>, C<__END__>,
C<eq>, C<for>, C<foreach>, C<ge>, C<given>, C<gt>, C<if>, C<INIT>, C<le>,
C<lt>, C<ne>, C<not>, C<or>, C<UNITCHECK>, C<unless>, C<until>, C<when>,
C<while>, C<x>, C<xor>
=back
=head2 Portabilidad
X<portability> X<Unix> X<portable> X<portabilidad>
Perl nació en Unix y por eso puede acceder a todas las llamadas normales del
sistema Unix. En entornos no Unix, la funcionalidad de algunas llamadas del
sistema Unix pueden no estar disponibles, o los detalles de la funcionalidad
lib/POD2/ES/perlfunc.pod view on Meta::CPAN
=item shift
=for Pod::Functions remove the first element of an array, and return it
Extrae el primer valor del array y lo devuelve, acortando el array en uno y
moviendo todos los demás hacia arriba. Si no hay elementos en el array,
devuelve el valor undef. Si se omite ARRAY, se desplaza el array
L<C<@_>|perlvar/@_> dentro del ámbito léxico de subrutinas y formatos, y el
array L<C<@ARGV>|perlvar/@ARGV> si está fuera de una subrutina y también
dentro de los ámbitos léxicos establecidos por construcciones como C<eval
CADENA>, C<BEGIN {}>, C<INIT {}>, C<CHECK {}>, C<UNITCHECK {}> y C<END {}>.
A partir de Perl 5.14, una caracterÃstica experimental permitÃa a
L<C<shift>|/shift ARRAY> tomar una expresión escalar. Se ha considerado que
este experimento no ha funcionado, y se quitó a partir de Perl 5.24.
Vea también L<C<unshift>|/unshift ARRAY,LISTA>, L<C<push>|/push ARRAY,LISTA>,
y L<C<pop>|/pop ARRAY>. L<C<shift>|/shift ARRAY> y L<C<unshift>|/unshift
ARRAY,LISTA> hacen lo mismo con el extremo izquierdo de un array que
L<C<pop>|/pop ARRAY> y L<C<push>|/push ARRAY,LISTA> lo hacen para el extremo
derecho.
lib/POD2/ES/perlfunc.pod view on Meta::CPAN
Devuelve verdadero si el contexto de ejecución de la subrutina actual o
L<C<eval>|/eval EXPR> está buscando por una lista de valores. Devuelve falso
si el contexto está buscando por un escalar. Devuelve el valor indefinido si
el contexto está buscando por ningún valor (contexto void).
return unless defined wantarray; # no nos molestamos más
my @a = calculo_complejo();
return wantarray ? @a : "@a";
El resultado de L<C<wantarray>|/wantarray> no está especificado en el nivel
superior de un archivo, en un C<BEGIN>, C<UNITCHECK>, C<CHECK>, C<INIT> o
bloque C<END>, o en un método C<DESTROY>.
Esta función deberÃa haber sido nombrada wantlist().
=item warn LISTA
X<warn> X<warning> X<STDERR> X<avisos>
=for Pod::Functions print debugging info
Imprime el valor de LISTA a STDERR. Si el último elemento de LISTA no termina
lib/POD2/ES/perlfunc.pod view on Meta::CPAN
=over
=item BEGIN
=item CHECK
=item END
=item INIT
=item UNITCHECK
Estas palabras clave de la fase de compilación están documentadas en
L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT y END">.
=back
=head3 perlobj
=over
=item DESTROY
Esta palabra clave de método está documentada en L<perlobj/"Destructores">.
lib/POD2/ES/perlmod.pod view on Meta::CPAN
en main: $nombre es 'Pablo'
en lugar de:
en Un_paquete: $nombre es 'Pedro'
Esto también tiene implicaciones para el uso del calificador SUPER:: (vea
L<perlobj>).
=head2 BEGIN, UNITCHECK, CHECK, INIT y END
X<BEGIN> X<UNITCHECK> X<CHECK> X<INIT> X<END>
Hay cinco bloques de código con un nombre especial que se ejecutan al
principio y final de la ejecución de un programa Perl. Son los bloques
C<BEGIN>, C<UNITCHECK>, C<CHECK>, C<INIT> y C<END>.
Estos bloques de código pueden usarse con el prefijo C<sub> para dar la
apariencia de ser subrutinas (aunque esto no se recomienda). Debe tenerse en
cuenta que estos bloques de código no existen realmente como subrutinas con
nombres, aunque asà lo parezca. Esto es asà porque se puede incluir B<más de
uno> de estos bloques de código en un programa y B<todos> ellos se ejecutarán
en el momento adecuado. Por esta razón no puede ejecutar ninguno de estos
bloques usando su nombre.
Un bloque de código C<BEGIN> se ejecuta tan pronto como es posible, es decir,
lib/POD2/ES/perlmod.pod view on Meta::CPAN
del mismo paquete en orden LIFO, justo antes de que se produzca la salida del
intérprete.
Dentro de un bloque de código C<END>, C<$?> contiene el valor que el programa
va a pasar a C<exit()>. Puede modificar C<$?> para cambiar el valor de salida
del programa. Evite cambiar C<$?> accidentalmente (por ejemplo, ejecutando algo
mediante C<system>). X<$?>
Dentro de un bloque C<END>, el valor de C<${^GLOBAL_PHASE}> es C<"END">.
Los bloques C<UNITCHECK>, C<CHECK> e C<INIT> son útiles para capturar la
transición entre la fase de compilación y la de ejecución del programa
principal.
Los bloques C<UNITCHECK> se ejecutan inmediatamente después de que se haya
compilado la unidad que los definió. El archivo del programa principal y cada
módulo que carga son unidades de compilación, como lo son los resultados de
aplicar C<eval> a cadenas, el código compilado en tiempo de ejecución con la
construcción C<(?{ })> en una expresión regular, las llamadas a C<do FILE>,
C<require FILE>, o el código que hay a continuación del modificador C<-e> en
la lÃnea de comandos.
Los bloques C<BEGIN> y C<UNITCHECK> no están directamente relacionados con la
fase del intérprete. Se pueden crear y ejecutar en cualquier fase.
Los bloques de código C<CHECK> se ejecutan inmediatamente después de que
finalice la fase B<inicial> de compilación de Perl y antes de que comience el
tiempo de ejecución, en orden LIFO. Los bloques de código C<CHECK> se usan en
el compilador de Perl para guardar el estado compilado del programa.
Dentro de un bloque C<CHECK>, el valor de C<${^GLOBAL_PHASE}> es C<"CHECK">.
Los bloques C<INIT> se ejecutan justo antes de iniciar el tiempo de ejecución
lib/POD2/ES/perlmod.pod view on Meta::CPAN
El programa B<begincheck> expone esto de forma clara (o eso esperamos):
#!/usr/bin/perl
# begincheck
print "10. El código normal se ejecuta en tiempo de ejecución.\n";
END { print "16. Y este cuento se ha acabado.\n" }
INIT { print " 7. Los bloques INIT se ejecutan en orden FIFO antes del tiempo de ejecución.\n" }
UNITCHECK {
print " 4. Y, por tanto, antes que los bloques CHECK.\n"
}
CHECK { print " 6. Esta es la sexta lÃnea.\n" }
print "11. Por supuesto, se ejecuta por orden.\n";
BEGIN { print " 1. Los bloques BEGIN se ejecutan en orden FIFO durante la compilación.\n" }
END { print "15. Lea perlmod para obtener más información.\n" }
CHECK { print " 5. Los bloques CHECK se ejecutan en orden LIFO tras la compilación.\n" }
INIT { print " 8. Volvemos a ejecutar esto, ahora con el modificador -c de perl.\n" }
print "12. Esto es lo contrario de código ofuscado.\n";
END { print "14. Los bloques END se ejecutan en orden LIFO al finalizar.\n" }
BEGIN { print " 2. Asà que esta lÃnea será la segunda.\n" }
UNITCHECK {
print " 3. Los bloques UNITCHECK se ejecutan en orden LIFO tras compilar cada archivo.\n"
}
INIT { print " 9. Verá la diferencia inmediatamente.\n" }
print "13. Puede que parezca lioso, pero no lo es en realidad.\n";
__END__
=head2 Clases en Perl
X<class> X<clase> X<@ISA>
( run in 0.992 second using v1.01-cache-2.11-cpan-748bfb374f4 )