Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'master' of github.com:zipf/perldoc-es

  • Loading branch information...
commit b25f225c6ecd297b7aefc2ccb4907913e5e5ad4f 2 parents 4b5243d + ea40927
@zipf authored
View
329 memory/work/perlspanish-omegat.explorer.tmx
@@ -12502,8 +12502,8 @@ from, and C&lt;$?</seg>
<tuv lang="EN-US">
<seg>'1' may actually be any positive integer.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>'1' puede ser cualquier entero positivo.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020214Z">
+ <seg>'1' puede ser realmente cualquier entero positivo.</seg>
</tuv>
</tu>
<tu>
@@ -14919,8 +14919,8 @@ code points that match Pattern_Syntax have actually had characters
assigned to them; so there is room to grow, but they are quoted
whether assigned or not.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120601T001335Z">
- <seg>(No todos los puntos de código que coinciden con Pattern_Syntax tienen caracteres asignados a ellos; así que hay espacio para crecer, pero son escapados tanto si están asignados como si no.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012726Z">
+ <seg>(No todos los puntos de código que coinciden con Pattern_Syntax tienen realmente caracteres asignados a ellos; así que hay espacio para crecer, pero son desactivados tanto si están asignados como si no.</seg>
</tuv>
</tu>
<tu>
@@ -21031,8 +21031,8 @@ B&lt;-t&gt; or B&lt;-TU&gt;).</seg>
<tuv lang="EN-US">
<seg>12 blocks actual number of blocks allocated</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>12 blocks número actual de bloques reservados</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013114Z">
+ <seg>12 blocks número real de bloques reservados</seg>
</tuv>
</tu>
<tu>
@@ -67249,8 +67249,8 @@ of a L&lt;/variable&gt;.</seg>
<seg>An OFFSET may be specified to place the read data at some place in the
string other than the beginning.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121226T205736Z">
- <seg>Un DESPLAZAMIENTO se puede especificar para colocar los datos leídos en algún otro lugar de la cadena distinto del principio.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012844Z">
+ <seg>Un DESPLAZAMIENTO se puede especificar para colocar los datos leídos en algún otro lugar de la cadena, distinto del principio.</seg>
</tuv>
</tu>
<tu>
@@ -74576,6 +74576,16 @@ use smartmatching, then the second argument will not be either.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>But if the command contains special shell characters, such as
+C&lt;E&lt;gt&gt;&gt; or C&lt;*&gt;, called 'metacharacters', Perl does not execute the
+command directly.</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T023127Z">
+ <seg>Pero si el comando contiene caracteres especiales para el shell, como C&lt;E&lt;gt&gt;&gt; o C&lt;*&gt;, llamados 'metacaracteres', Perl no ejecuta el comando de forma directa.</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>But if they do not, all
characters will be in either 32- or 64-bit complements, depending on your
architecture.</seg>
@@ -76157,8 +76167,8 @@ expression C&lt;4 - 2 == 2&gt; and not C&lt;8 - 2 == 6&gt;.</seg>
while C&lt;:encoding(UTF-8)&gt; checks the data for actually being valid
UTF-8.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20110720T022429Z">
- <seg>C&lt;:utf8&gt; solo marca los datos como UTF-8 sin más comprobaciones ulteriores, mientras que C&lt;:encoding(UTF-8)&gt; comprueba que los datos sean UTF-8 válidos.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T011924Z">
+ <seg>C&lt;:utf8&gt; solo marca los datos como UTF-8 sin más comprobaciones ulteriores, mientras que C&lt;:encoding(UTF-8)&gt; comprueba que los datos sean realmente UTF-8 válidos.</seg>
</tuv>
</tu>
<tu>
@@ -81754,8 +81764,8 @@ using xlC.</seg>
layers can appear in this list, as external layers (such as C&lt;:encoding()&gt;) need
IO in order to load them!.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121113T024505Z">
- <seg>En consecuencia, sólo capas predefinidas en el código pueden aparecer en esta lista, ya que las capas externas (tales como C&lt;encoding()&gt;) necesitan E/S para poder ser leídas!</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T001933Z">
+ <seg>En consecuencia, sólo capas predefinidas en el código pueden aparecer en esta lista, ya que las capas externas (tales como C&lt;encoding()&gt;) ¡necesitan E/S para poder ser leídas!</seg>
</tuv>
</tu>
<tu>
@@ -89235,8 +89245,8 @@ on the ancient Macs (pre-MacOS X) of yesteryear, these used to be reversed,
and on systems without line terminator,
printing C&lt;"\n"&gt; might emit no actual data.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121226T014701Z">
- <seg>Por ejemplo, en los antiguos Mac (pre MacOS X) de antaño, estos solían estar invertidos, y en los sistemas sin terminador de línea, la impresión de un C&lt;"\n"&gt; podría no emitir ningún dato.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T015836Z">
+ <seg>Por ejemplo, en los antiguos Mac (pre MacOS X) de antaño, estos solían estar invertidos, y en los sistemas sin terminador de línea, la impresión de un C&lt;"\n"&gt; podría no emitir ningún dato real.</seg>
</tuv>
</tu>
<tu>
@@ -90673,8 +90683,8 @@ C&lt;$OUTER::INNER::var&gt;.</seg>
<seg>For instance, when you call
C&lt;power("puff")&gt;, the string C&lt;"puff"&gt; is the actual argument.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="zipf" changedate="20121110T094312Z">
- <seg>Por ejemplo, al realizar la llamada C&lt;encendido("activar")&gt;, la cadena C&lt;"activar"&gt; es el valor del argumento.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013612Z">
+ <seg>Por ejemplo, al realizar la llamada C&lt;encendido("activar")&gt;, la cadena C&lt;"activar"&gt; es el valor real del argumento.</seg>
</tuv>
</tu>
<tu>
@@ -93277,8 +93287,8 @@ word following "foo" in the string "Food is on the foo table.":</seg>
<tuv lang="EN-US">
<seg>Here is an example to illustrate how the bits actually fall in place:</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Este es un ejemplo para ilustrar cómo los bits están amparados efectivamente en su lugar:</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013405Z">
+ <seg>Este es un ejemplo para ilustrar cómo los bits están realmente amparados en su lugar:</seg>
</tuv>
</tu>
<tu>
@@ -98889,6 +98899,15 @@ to use PerlIO system for IO (the default) these layers affect Perl's IO.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>If possible, Perl will detect the failure and set C&lt;$!&gt; as
+usual.</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T023021Z">
+ <seg>Si le es posible, Perl detectará el fallo y actualizará C&lt;$!&gt;, como es normal.</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>If protected by C&lt;\&gt;, C&lt;$&gt; will be quoted to became
C&lt;"\\\$"&gt;; if not, it is interpreted as the start of an interpolated
scalar.</seg>
@@ -98949,8 +98968,8 @@ print on the currently selected output channel.</seg>
subsystem will be logged to that file, which is opened in append mode
Typical uses are in Unix:</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20111205T030114Z">
- <seg>Si se establece al nombre de un archivo o dispositivo, ciertas operaciones del subsistema PerlIO serán registradas en ese archivo, que se abre en el modo añadir típico de Unix:</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T002231Z">
+ <seg>Si se establece al nombre de un archivo o dispositivo, ciertas operaciones del subsistema PerlIO se registrarán en ese archivo, que se abre en el modo añadir. Usos típicos en Unix:</seg>
</tuv>
</tu>
<tu>
@@ -100410,6 +100429,15 @@ C&lt;EXISTS&gt;, and C&lt;DELETE&gt; unchanged.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>If the trailing character is a pipe, you start up a new command and open a
+read-only filehandle leading out of that command.</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T022633Z">
+ <seg>Si el carácter final es una tubería, está arrancando un nuevo comando, y dirigiendo un identificador de archivo, en modo de solo lectura, a la salida de ese comando.</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>If the two digests
match, the password is correct.</seg>
</tuv>
@@ -101186,8 +101214,8 @@ with some other statement, you can use one of these styles to avoid the warning:
as a C int, you will have to use C&lt;pack&gt; when writing, and C&lt;unpack&gt;
when reading.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="zipf" changedate="20111006T160157Z">
- <seg>Si desea almacenarla como un entero de C, debe usar C&lt;pack&gt; al escribir y C&lt;unpack&gt; al leer.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T011520Z">
+ <seg>Si realmente desea almacenarla como un entero de C, debe usar C&lt;pack&gt; al escribir y C&lt;unpack&gt; al leer.</seg>
</tuv>
</tu>
<tu>
@@ -101975,8 +102003,8 @@ to the program you are executing about its own name, you can specify
the program you actually want to run as an "indirect object" (without a
comma) in front of the LIST.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Si realmente no quiere ejecutar el primer argumento, pero quiere engañar al programa que está ejecutando sobre su propio nombre, puede especificar el programa que quiera ejecutar como un "objeto indirecto" (sin la coma) enfrente de la LISTA.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012214Z">
+ <seg>Si verdaderamente no quiere ejecutar el primer argumento, pero quiere engañar al programa que está ejecutando sobre su propio nombre, puede especificar el programa que realmente quiere ejecutar como un "objeto indirecto" (sin la coma) enfrente de la LISTA.</seg>
</tuv>
</tu>
<tu>
@@ -105724,8 +105752,8 @@ the failure as a bug.</seg>
<seg>In both cases, the F&lt;feature.pm&gt; and F&lt;strict.pm&gt; files are
not actually loaded.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120604T003346Z">
- <seg>En ambos casos, los archivos F&lt;feature.pm&gt; y F&lt;strict.pm&gt; no son cargados.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013241Z">
+ <seg>En ambos casos, los archivos F&lt;feature.pm&gt; y F&lt;strict.pm&gt; no son realmente cargados.</seg>
</tuv>
</tu>
<tu>
@@ -105867,8 +105895,8 @@ what its (other) name is.</seg>
I&lt;infers&gt; contexts from the actual types of its operands and uses that
type information to select a suitable comparison mechanism.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120718T195957Z">
- <seg>En contraste, la coincidencia inteligente I&lt;infiere&gt; el contexto a partir de los tipos actuales de sus operandos, y usa esta información para seleccionar un mecanismo de comparación adecuado.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T015731Z">
+ <seg>En contraste, la coincidencia inteligente I&lt;infiere&gt; el contexto a partir de los tipos reales de sus operandos, y usa esta información para seleccionar un mecanismo de comparación adecuado.</seg>
</tuv>
</tu>
<tu>
@@ -107700,6 +107728,15 @@ C&lt;eval EXPR&gt; statement.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>In such a case, the C&lt;open&gt; call will only indicate
+failure if Perl can't even run the shell.</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T023411Z">
+ <seg>En tal caso, la llamada C&lt;open&gt; sólo indicará un fallo si Perl ni siquiera puede ejecutar el shell.</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>In summary:</seg>
</tuv>
<tuv lang="ES-ES" changeid="explorer" changedate="20111016T004759Z">
@@ -108538,8 +108575,8 @@ so you don't have to worry about C&lt;$datafile&gt; containing characters
that might influence the open mode, or whitespace at the beginning of
the filename that would be absorbed in the 2-argument version.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121122T011520Z">
- <seg>En este caso, el nombre del archivo a abrir es la cadena de caracteres que está dentro de C&lt;$datos&gt;, así que no se tiene que preocupar sobre si C&lt;$datos&gt; contiene caracteres que podrían influir en el modo de apertura, o del espacio en blanco al comienzo del nombre del archivo, que sería absorbido por la versión de dos argumentos.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020007Z">
+ <seg>En este caso, el nombre del archivo a abrir es la cadena real de caracteres que está dentro de C&lt;$datos&gt;, así que no se tiene que preocupar sobre si C&lt;$datos&gt; contiene caracteres que podrían influir en el modo de apertura, o del espacio en blanco al comienzo del nombre del archivo, que sería absorbido por la versión de dos argumentos.</seg>
</tuv>
</tu>
<tu>
@@ -109072,6 +109109,15 @@ that is supposed to work no matter what.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>Instead, Perl runs the shell, which then tries to
+run the command.</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T023224Z">
+ <seg>En lugar de eso, Perl ejecuta un shell, el cual intentará, entonces, ejecutar el comando.</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>Instead, have it like this:</seg>
</tuv>
<tuv lang="ES-ES" changeid="explorer" changedate="20121009T012414Z">
@@ -115828,8 +115874,8 @@ to C&lt;$_&gt; if omitted.</seg>
type, be followed by the length of the actual message, and then finally
the message itself.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20110727T000900Z">
- <seg>MSG debe comenzar con un tipo de mensaje, contenido en un entero nativo largo, seguido por la longitud del mensaje, y finalmente el mensaje mismo.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012641Z">
+ <seg>MSG debe comenzar con un tipo de mensaje, contenido en un entero nativo largo, seguido por la longitud del mensaje real, y finalmente el mensaje mismo.</seg>
</tuv>
</tu>
<tu>
@@ -117378,8 +117424,8 @@ handlers must therefore arrange to actually display the
warnings that they are not prepared to deal with, by calling C&lt;warn&gt;
again in the handler.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>La mayoría de los controladores, por lo tanto, deben hacer los arreglos necesarios para mostrar las advertencias de las que no están preparados para hacer frente, llamando a C&lt;warn&gt; de nuevo en el controlador.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013522Z">
+ <seg>La mayoría de los controladores, por lo tanto, deben hacer los arreglos necesarios para realmente mostrar las advertencias de las que no están preparados para hacer frente, llamando a C&lt;warn&gt; de nuevo en el controlador.</seg>
</tuv>
</tu>
<tu>
@@ -119807,8 +119853,8 @@ STDIN and STDOUT that are actually connected by a pipe or socket, even
if you exit, then the remote server (such as, say, a CGI script or a
backgrounded job launched from a remote shell) won't think you're done.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121122T031530Z">
- <seg>Note que si su hijo hereda los descriptores de archivo del sistema como STDIN y STDOUT que estén conectados a una tubería o a un socket, incluso si usted sale del programa, el servidor remoto (por ejemplo, un script CGI o un proceso lanzado en segundo plano desde un shell remoto) no se dará cuenta de que se ha ido.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012243Z">
+ <seg>Note que si su hijo hereda los descriptores de archivo del sistema como STDIN y STDOUT que estén realmente conectados a una tubería o a un socket, incluso si usted sale del programa, el servidor remoto (por ejemplo, un script CGI o un proceso lanzado en segundo plano desde un shell remoto) no se dará cuenta de que se ha ido.</seg>
</tuv>
</tu>
<tu>
@@ -120265,8 +120311,8 @@ not counted when determining the length of the match.</seg>
<seg>Note that the value of an actual array in scalar context is the
length of the array; the following assigns the value 3 to $foo:</seg>
</tuv>
- <tuv lang="ES-ES" changeid="zipf" changedate="20120630T210230Z">
- <seg>Tenga en cuenta que el valor de un array en contexto de escalar es la longitud del array; la línea siguiente asigna el valor 3 a $foo:</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T011459Z">
+ <seg>Tenga en cuenta que el valor de un array real en contexto de escalar es la longitud del array; la línea siguiente asigna el valor 3 a $foo:</seg>
</tuv>
</tu>
<tu>
@@ -120453,8 +120499,8 @@ inet_aton()/inet_ntoa() routines of the Socket package.</seg>
<seg>Note that warnings must be enabled along with this option to actually
I&lt;generate&gt; the taint-check warnings.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20111205T000029Z">
- <seg>Tenga en cuenta que las advertencias deben estar habilitadas con esta opción para I&lt;generar&gt; las advertencias de contaminación.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020811Z">
+ <seg>Tenga en cuenta que las advertencias deben estar habilitadas con esta opción para I&lt;generar&gt; realmente las advertencias de contaminación.</seg>
</tuv>
</tu>
<tu>
@@ -127640,8 +127686,8 @@ theoretical sense, but in regular use they work quite well.</seg>
<seg>Perl, of course, would never use an
unassigned code point as an actual metacharacter.)</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120601T001430Z">
- <seg>Perl, por supuesto, nunca usaría un punto de código asignado como un metacarácter actual).</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012749Z">
+ <seg>Perl, por supuesto, nunca usaría un punto de código asignado como un metacarácter real).</seg>
</tuv>
</tu>
<tu>
@@ -131578,8 +131624,8 @@ error (in the latter case C&lt;$!&gt; is also set).</seg>
processes successfully signaled (which is not necessarily the
same as the number actually killed).</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Devuelve el número de procesos señalados exitosamente (que no es necesariamente el mismo número de los llamados).</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012609Z">
+ <seg>Devuelve el número de procesos señalados exitosamente (que no es necesariamente el mismo número de los realmente asesinados).</seg>
</tuv>
</tu>
<tu>
@@ -131598,8 +131644,8 @@ errno variable C&lt;$!&gt; is also set).</seg>
actually read, C&lt;0&gt; at end of file, or undef if there was an error (in
the latter case C&lt;$!&gt; is also set).</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Devuelve el número de caracteres actualmente leídos, C&lt;0&gt; al final del archivo, o undef si hubo un error (en este último caso se actualiza el valor de C&lt;$!&gt;).</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012811Z">
+ <seg>Devuelve el número de caracteres realmente leídos, C&lt;0&gt; al final del archivo, o undef si hubo un error (en este último caso se actualiza el valor de C&lt;$!&gt;).</seg>
</tuv>
</tu>
<tu>
@@ -132408,8 +132454,8 @@ on EBCDIC platforms.</seg>
shrunk so that the last byte actually read is the last byte of the
scalar after the read.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>ESCALAR crecerá o se reducirá de manera que el último byte leído sea el último byte del escalar después de la lectura.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013204Z">
+ <seg>ESCALAR crecerá o se reducirá de manera que el último byte realmente leído sea el último byte del escalar después de la lectura.</seg>
</tuv>
</tu>
<tu>
@@ -132418,16 +132464,16 @@ scalar after the read.</seg>
so that the last character actually read is the last character of the
scalar after the read.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>ESCALAR crecerá o se reducirá de manera que el último carácter leído es el último carácter del escalar después de la lectura.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012835Z">
+ <seg>ESCALAR crecerá o se reducirá de manera que el último carácter realmente leído es el último carácter del escalar después de la lectura.</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>SCALAR will be grown or shrunk to the length actually read.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>ESCALAR crecerá o se reducirá a la longitud de la lectura actual.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012907Z">
+ <seg>ESCALAR crecerá o se reducirá a la longitud de la lectura real.</seg>
</tuv>
</tu>
<tu>
@@ -132436,8 +132482,8 @@ scalar after the read.</seg>
written depending on the FUNCTION; a C pointer to the string value of SCALAR
will be passed as the third argument of the actual C&lt;ioctl&gt; call.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120526T233221Z">
- <seg>ESCALAR será leído o escrito dependiendo de la FUNCIÓN; un puntero C al valor de la cadena ESCALAR será pasado como tercer argumento de la actual llamada C&lt;ioctl&gt;.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012420Z">
+ <seg>ESCALAR será leído o escrito dependiendo de la FUNCIÓN; un puntero C al valor de la cadena ESCALAR será pasado como tercer argumento de la llamada real a C&lt;ioctl&gt;.</seg>
</tuv>
</tu>
<tu>
@@ -132720,8 +132766,8 @@ output is to the terminal and block buffered otherwise.</seg>
the value provides the name of (or a reference to) the actual
subroutine to use.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120602T001354Z">
- <seg>NOMBRE_SUB puede ser el nombre de una variable escalar, en cuyo caso el valor provee el nombre de (o la referencia a) la actual subrutina a usar.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013016Z">
+ <seg>NOMBRE_SUB puede ser el nombre de una variable escalar, en cuyo caso el valor provee el nombre de (o la referencia a) la subrutina real a usar.</seg>
</tuv>
</tu>
<tu>
@@ -133677,8 +133723,8 @@ a package declaration.</seg>
may thus need to do a stat() to determine the actual mode of the file,
or temporarily set their effective uid to something else.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Scripts ejecutados por el superusuario pueden necesitar hacer un stat() para determinar el modo actual del archivo, o temporalmente poner su uid efectivo a otro valor.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T011848Z">
+ <seg>Scripts ejecutados por el superusuario pueden necesitar hacer un stat() para determinar el modo real del archivo, o temporalmente poner su uid efectivo a otro valor.</seg>
</tuv>
</tu>
<tu>
@@ -139608,8 +139654,8 @@ position one notch further in the string.</seg>
<seg>Similarly, grep returns aliases into the original list, much as a for
loop's index variable aliases the list elements.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Semejantemente, grep devuelve alias de la lista original, como los alias de los elementos de la lista de las variables de los bucles for.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012328Z">
+ <seg>De forma semejante, grep devuelve alias de la lista original, como los alias de los elementos de la lista de las variables de los bucles for.</seg>
</tuv>
</tu>
<tu>
@@ -139991,8 +140037,8 @@ to change without notice.</seg>
<seg>Since it is an actual C&lt;do&gt; (not a C&lt;require&gt;), F&lt;sitecustomize.pl&gt;
doesn't need to return a true value.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20111127T193722Z">
- <seg>Debido a que es un C&lt;do&gt; (no un C&lt;require&gt;), F&lt;sitecustomize.pl&gt; no retorna un valor verdadero.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020648Z">
+ <seg>Debido a que es un C&lt;do&gt; real (no un C&lt;require&gt;), F&lt;sitecustomize.pl&gt; no retorna un valor verdadero.</seg>
</tuv>
</tu>
<tu>
@@ -144606,8 +144652,8 @@ line anywhere within the string.</seg>
element of a list returned by grep (for example, in a C&lt;foreach&gt;, C&lt;map&gt;
or another C&lt;grep&gt;) actually modifies the element in the original list.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C&lt;foreach&gt;, C&lt;map&gt; u otro C&lt;grep&gt;) modifica el elemento en la lista original.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012313Z">
+ <seg>Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C&lt;foreach&gt;, C&lt;map&gt; u otro C&lt;grep&gt;) modifica realmente el elemento en la lista original.</seg>
</tuv>
</tu>
<tu>
@@ -144616,8 +144662,8 @@ or another C&lt;grep&gt;) actually modifies the element in the original list.</s
list returned by sort() (for example, in a C&lt;foreach&gt;, C&lt;map&gt; or C&lt;grep&gt;)
actually modifies the element in the original list.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C&lt;foreach&gt;, C&lt;map&gt; o C&lt;grep&gt;) modifica el elemento en la lista original.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013034Z">
+ <seg>Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C&lt;foreach&gt;, C&lt;map&gt; o C&lt;grep&gt;) modifica realmente el elemento en la lista original.</seg>
</tuv>
</tu>
<tu>
@@ -144729,8 +144775,8 @@ was never a list to start with.</seg>
<seg>That means it actually
has both compile-time and run-time effects.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Esto significa que tiene efectos tanto en tiempo de compilación como en tiempo de ejecución.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T021022Z">
+ <seg>Esto significa que realmente tiene efectos tanto en tiempo de compilación como en tiempo de ejecución.</seg>
</tuv>
</tu>
<tu>
@@ -146330,8 +146376,8 @@ assumes that I&lt;all&gt; keys and values are NULL terminated.</seg>
<seg>The C locale delivered by some vendors may not
actually exactly match what the C standard calls for.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120506T030049Z">
- <seg>La configuración regional C incluida por algunos vendedores puede no coincidir exactamente con lo que la norma C exige.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T015441Z">
+ <seg>La configuración regional C incluida por algunos vendedores puede no coincidir realmente, y de forma exacta, con lo que exige el estándar de llamadas en C.</seg>
</tuv>
</tu>
<tu>
@@ -148055,8 +148101,8 @@ to compare them according to their actual types (numeric, string, array,
hash, etc.) Like the equality operators with which it shares the same
precedence, C&lt;~~&gt; returns 1 for true and C&lt;""&gt; for false.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120722T214117Z">
- <seg>El operador C&lt;~~&gt; compara sus operandos de forma "polimórfica", determinando cómo compararlos en función de sus tipos actuales (numérico, cadena, matriz, hash, etc.). Al igual que los operadores de igualdad con los que comparte la misma prioridad, C&lt;~~&gt; devuelve 1 para verdadero y C&lt;""&gt; para falso.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T015808Z">
+ <seg>El operador C&lt;~~&gt; compara sus operandos de forma "polimórfica", determinando cómo compararlos en función de sus tipos reales (numérico, cadena, matriz, hash, etc.). Al igual que los operadores de igualdad con los que comparte la misma prioridad, C&lt;~~&gt; devuelve 1 para verdadero y C&lt;""&gt; para falso.</seg>
</tuv>
</tu>
<tu>
@@ -148602,7 +148648,6 @@ other inside-out modules in the wild.</seg>
</tuv>
</tu>
<tu>
- <note>revisar</note>
<tuv lang="EN-US">
<seg>The L&lt;Task::Kensho&gt; module has a list of recommended modules which
you should review as a good starting point.</seg>
@@ -149419,8 +149464,8 @@ random order is subject to change in future versions of Perl, but it
is guaranteed to be the same order as either the C&lt;values&gt; or C&lt;each&gt;
function produces (given that the hash has not been modified).</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>El actual orden aleatorio está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C&lt;values&gt; o C&lt;each&gt; producirían (mientras que el hash no haya sido modificado).</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012512Z">
+ <seg>El orden aleatorio real está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C&lt;values&gt; o C&lt;each&gt; producirían (mientras que el hash no haya sido modificado).</seg>
</tuv>
</tu>
<tu>
@@ -149457,8 +149502,8 @@ be seen in the error message generated by code such as this:</seg>
where C&lt;\G&gt; will match can also be influenced by using C&lt;pos()&gt; as
an lvalue: see L&lt;perlfunc/pos&gt;.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121113T015412Z">
- <seg>La ubicación actual donde C&lt;\G&gt; coincidirá también puede modificarse usando C&lt;pos()&gt; como un valor-izquierda: vea L&lt;perlfunc/pos&gt;.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020300Z">
+ <seg>La ubicación real donde C&lt;\G&gt; coincidirá también puede modificarse usando C&lt;pos()&gt; como un valor-izquierda: vea L&lt;perlfunc/pos&gt;.</seg>
</tuv>
</tu>
<tu>
@@ -149468,8 +149513,8 @@ order is subject to change in future versions of Perl, but it is
guaranteed to be in the same order as either the C&lt;keys&gt; or C&lt;values&gt;
function would produce on the same (unmodified) hash.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>El actual orden aleatorio está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C&lt;keys&gt; o C&lt;values&gt; producirían (mientras que el hash no haya sido modificado).</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012059Z">
+ <seg>El orden aleatorio real está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C&lt;keys&gt; o C&lt;values&gt; producirían (mientras que el hash no haya sido modificado).</seg>
</tuv>
</tu>
<tu>
@@ -149478,8 +149523,8 @@ function would produce on the same (unmodified) hash.</seg>
Perl, but it is guaranteed to be the same order as either the C&lt;keys&gt; or
C&lt;each&gt; function would produce on the same (unmodified) hash.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120604T004500Z">
- <seg>El orden aleatorio actual está sujeto a cambio en futuras versiones de Perl, pero se garantiza que es el mismo orden que las funciones C&lt;keys&gt; o C&lt;each&gt; producirían con el mismo (no modificado) hash.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013308Z">
+ <seg>El orden aleatorio real está sujeto a cambio en futuras versiones de Perl, pero se garantiza que es el mismo orden que las funciones C&lt;keys&gt; o C&lt;each&gt; producirían con el mismo (no modificado) hash.</seg>
</tuv>
</tu>
<tu>
@@ -149642,9 +149687,8 @@ C&lt;require&gt;, or C&lt;use&gt; constructs look for their library files.</seg>
<seg>The array C&lt;@_&gt; is a local array, but its
elements are aliases for the actual scalar parameters.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="jenny" changedate="20120605T004024Z">
- <seg>El array C&lt;@_&gt; es un array local, pero sus
-elementos son alias para los actuales parámetros escalares.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020921Z">
+ <seg>El array C&lt;@_&gt; es un array local, pero sus elementos son alias para los parámetros escalares reales.</seg>
</tuv>
</tu>
<tu>
@@ -152480,8 +152524,8 @@ but not in transliterations.</seg>
<seg>The following example counts all the possible matching strings in a
pattern (without actually matching any of them).</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20110817T011857Z">
- <seg>El siguiente ejemplo cuenta todas las posibles cadenas coincidentes con un patrón (sin que se produzca una coincidencia con ninguna de ellas, por efecto del C&lt;(*FAIL)&gt;).</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020334Z">
+ <seg>El siguiente ejemplo cuenta todas las posibles cadenas coincidentes con un patrón (sin que se produzca realmente una coincidencia con ninguna de ellas, por efecto del C&lt;(*FAIL)&gt;).</seg>
</tuv>
</tu>
<tu>
@@ -155791,8 +155835,8 @@ even if you tell C&lt;sysopen&gt; to create a file with permissions C&lt;0777&gt
if your umask is C&lt;0022&gt;, then the file will actually be created with
permissions C&lt;0755&gt;.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20110729T024138Z">
- <seg>El valor de permiso (o "modo") que se pasa a C&lt;mkdir&gt; o C&lt;sysopen&gt; son modificados por su C&lt;umask&gt;, así que incluso si usted le pide a C&lt;sysopen&gt; crear un archivo con permisos C&lt;0777&gt;, y su C&lt;umask&gt; es C&lt;0022&gt;, entonces el archivo realmente es creado con permisos C&lt;0755&gt;.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T013231Z">
+ <seg>El valor de permiso (o "modo") que se pasa a C&lt;mkdir&gt; o C&lt;sysopen&gt; son modificados por su C&lt;umask&gt;, así que incluso si usted le pide a C&lt;sysopen&gt; crear un archivo con permisos C&lt;0777&gt;, y su C&lt;umask&gt; es C&lt;0022&gt;, entonces el archivo realmente se crea con permisos C&lt;0755&gt;.</seg>
</tuv>
</tu>
<tu>
@@ -160489,8 +160533,8 @@ reasons you can't actually read, write, or execute the file: for
example network filesystem access controls, ACLs (access control lists),
read-only filesystems, and unrecognized executable formats.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Puede haber otras razones por las que no pueda leer, escribir o ejecutar un archivo: por ejemplo, controles de acceso a sistemas de archivos en red, ACL (listas de control de acceso), sistemas de archivos de solo lectura, y formatos irreconocibles de ejecutables.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T011801Z">
+ <seg>Puede haber otras razones por las que realmente no pueda leer, escribir o ejecutar un archivo: por ejemplo, controles de acceso a sistemas de archivos en red, ACL (listas de control de acceso), sistemas de archivos de solo lectura, y formatos irreconocibles de ejecutables.</seg>
</tuv>
</tu>
<tu>
@@ -160760,7 +160804,7 @@ C&lt;$_[0]&gt; y C&lt;$_[1]&gt;.</seg>
C&lt;Text::Soundex&gt;, then its definition is actually found in the library
file F&lt;Text/Soundex.pm&gt;.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="zipf" changedate="20120906T120926Z">
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T015615Z">
<seg>Así, si el nombre del módulo es, por ejemplo, C&lt;Text::Soundex&gt;, su definición se ubicará en el archivo de biblioteca F&lt;Text/Soundex.pm&gt;.</seg>
</tuv>
</tu>
@@ -162531,8 +162575,8 @@ prevents many problems in locales that aren't UTF-8.</seg>
should reduce the number of calls to C&lt;realloc&gt; without actually using any
extra memory.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20110402T052138Z">
- <seg>Esto debería reducir el número de llamadas a C&lt;realloc&gt; sin tener que llegar a utilizar ningún otro espacio de memoria adicional.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T011256Z">
+ <seg>Esto debería reducir el número de llamadas a C&lt;realloc&gt; sin tener que llegar a utilizar realmente ningún otro espacio de memoria adicional.</seg>
</tuv>
</tu>
<tu>
@@ -163124,8 +163168,8 @@ Perl.</seg>
<tuv lang="EN-US">
<seg>This call is actually implemented in terms of recvfrom(2) system call.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Esta llamada está implementada actualmente en términos de la llamada del sistema recvfrom(2).</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012943Z">
+ <seg>Esta llamada está implementada realmente en términos de la llamada del sistema recvfrom(2).</seg>
</tuv>
</tu>
<tu>
@@ -166982,6 +167026,15 @@ this is where Perl code is resuming.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>This lets whatever that
+command writes to its standard output show up on your handle for reading.</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T022804Z">
+ <seg>Esto permite que cualquier cosa que el comando escriba en su salida estándar sea mostrado en su identificador, para ser leído a continuación.</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>This lets you ask questions like "what methods does the File
class implement?" It also lets you modify your classes
programmatically.</seg>
@@ -167453,6 +167506,15 @@ only if the left expression is false.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>This means that it's the shell that gets the error
+indication.</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T023249Z">
+ <seg>Esto significa que es el shell el que obtiene la indicación del error.</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>This means that legacy code that doesn't attempt to control the warnings
will work unchanged.</seg>
</tuv>
@@ -168064,8 +168126,8 @@ the C&lt;LC_CTYPE&gt; and C&lt;LC_COLLATE&gt; categories.</seg>
the point at which the C&lt;(*ACCEPT)&gt; pattern was encountered, regardless of
whether there is actually more to match in the string.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20110822T144231Z">
- <seg>Este patrón no coincide con nada y provoca el final de una coincidencia con éxito en el lugar en que el patrón C&lt;(*ACCEPT)&gt; se encontraba, sin importar si pudiera haber más coincidencias en la cadena.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020555Z">
+ <seg>Este patrón no coincide con nada y provoca el final de una coincidencia con éxito en el lugar en que el patrón C&lt;(*ACCEPT)&gt; se encontraba, sin importar si pudiera haber realmente más coincidencias en la cadena.</seg>
</tuv>
</tu>
<tu>
@@ -169389,8 +169451,8 @@ of the declarations involved is a C&lt;my&gt; variable:</seg>
will only be displayed if the code that uses C&lt;MyMod::Abc&gt; has actually
enabled them with the C&lt;warnings&gt; pragma like below.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120406T002402Z">
- <seg>Esta advertencia sólo será mostrará si el código que utiliza C&lt;MiMod::Abc&gt; tiene activado el pragma C&lt;warnings&gt; como se indica a continuación.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T015253Z">
+ <seg>Estas advertencias sólo se mostrarán si el código que utiliza C&lt;MiMod::Abc&gt; realmente ha activado el pragma C&lt;warnings&gt;, como se indica a continuación.</seg>
</tuv>
</tu>
<tu>
@@ -170091,8 +170153,8 @@ as well.</seg>
still easily determine the actual value returned by the operating
system:</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20110404T001751Z">
- <seg>Así, Perl devuelve verdadero en éxito y falso en caso de error, por lo que aún podemos determinar el valor actual devuelto por el sistema operativo:</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012442Z">
+ <seg>Así, Perl devuelve verdadero en éxito y falso en caso de error, por lo que aún podemos determinar el valor real devuelto por el sistema operativo:</seg>
</tuv>
</tu>
<tu>
@@ -171542,8 +171604,8 @@ L&lt;perlmodinstall&gt;.</seg>
the actual end of the string and not ignore an optional trailing
newline, use C&lt;\z&gt;.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>Para coincidir con el final actual de la cadena, sin ignorar un posible carácter de fin de línea, use C&lt;\z&gt;.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020226Z">
+ <seg>Para coincidir con el final real de la cadena, sin ignorar un posible carácter de fin de línea, use C&lt;\z&gt;.</seg>
</tuv>
</tu>
<tu>
@@ -173138,8 +173200,8 @@ shell (I&lt;/bin/ksh&gt;).</seg>
<seg>Under VMS this reflects the actual VMS exit status; i.e. it is the
same as C&lt;$?&gt; when the pragma C&lt;use vmsish 'status'&gt; is in effect.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120818T235935Z">
- <seg>Bajo VMS esto refleja el estado de salida VMS actual; es decir, es lo mismo que C&lt;$?&gt; cuando está en vigor el pragma C&lt;use vmsish 'status'&gt;.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T021209Z">
+ <seg>Bajo VMS esto refleja el estado real de la salida VMS; es decir, es lo mismo que C&lt;$?&gt; cuando está en vigor el pragma C&lt;use vmsish 'status'&gt;.</seg>
</tuv>
</tu>
<tu>
@@ -173157,8 +173219,8 @@ error.</seg>
actual VMS exit status, instead of the default emulation of POSIX
status; see L&lt;perlvms/$?&gt; for details.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120822T200519Z">
- <seg>Bajo VMS, el pragma C&lt;use vmsish 'status'&gt; hace que C&lt;$?&gt; refleje el estado actual de la salida VMS, en lugar de la emulación predeterminada del estado POSIX; vea L&lt;perlvms/$?&gt; para más detalles.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T021316Z">
+ <seg>Bajo VMS, el pragma C&lt;use vmsish 'status'&gt; hace que C&lt;$?&gt; refleje el estado real de la salida VMS, en lugar de la emulación predeterminada del estado POSIX; vea L&lt;perlvms/$?&gt; para más detalles.</seg>
</tuv>
</tu>
<tu>
@@ -177467,6 +177529,15 @@ with the seventh bit, which is 64.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>What happens if you try to open a pipe to or from a non-existent
+command?</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T022926Z">
+ <seg>¿Qué ocurre si intenta abrir una tubería a o desde un comando inexistente?</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>What is CPAN?</seg>
</tuv>
<tuv lang="ES-ES" changeid="zipf" changedate="20110405T090810Z">
@@ -177761,8 +177832,8 @@ included, which have now fallen out of common use.</seg>
without error, but if and when you should actually try to execute it, Perl
throws an exception with the text C&lt;Unimplemented&gt;:</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20120708T011623Z">
- <seg>Cuando Perl 5.12 o posterior encuentra una elipsis, lo analiza como si no tuviera errores, pero siempre y cuando lo trate de ejecutar, Perl produce una excepción con el texto C&lt;Unimplemented&gt; (No implementado):</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T021109Z">
+ <seg>Cuando Perl 5.12 o posterior encuentra una elipsis, lo analiza como si no tuviera errores, pero siempre y cuando lo trate realmente de ejecutar, Perl produce una excepción con el texto C&lt;Unimplemented&gt; (No implementado):</seg>
</tuv>
</tu>
<tu>
@@ -178350,8 +178421,8 @@ reject any tainted format argument.</seg>
<seg>When possible, it's good for both F&lt;/usr/bin/perl&gt;
and F&lt;/usr/local/bin/perl&gt; to be symlinks to the actual binary.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20111031T005656Z">
- <seg>Cuando sea posible, sería bueno que tanto F&lt;/usr/bin/perl&gt; como F&lt;/usr/local/bin/perl&gt; sean enlaces simbólicos al binario efectivo.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T020620Z">
+ <seg>Cuando sea posible, sería bueno que tanto F&lt;/usr/bin/perl&gt; como F&lt;/usr/local/bin/perl&gt; sean enlaces simbólicos al binario real.</seg>
</tuv>
</tu>
<tu>
@@ -182089,16 +182160,16 @@ and L&lt;DB_File&gt;.</seg>
<tuv lang="EN-US">
<seg>You can actually chomp anything that's an lvalue, including an assignment:</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121113T013654Z">
- <seg>Puede recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación:</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T011945Z">
+ <seg>Puede realmente recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación:</seg>
</tuv>
</tu>
<tu>
<tuv lang="EN-US">
<seg>You can actually chop anything that's an lvalue, including an assignment.</seg>
</tuv>
- <tuv lang="ES-ES" changeid="explorer" changedate="20121113T013715Z">
- <seg>Puede recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T012012Z">
+ <seg>Puede realmente recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación.</seg>
</tuv>
</tu>
<tu>
@@ -189624,6 +189695,14 @@ eight bits of the value are used.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>close(NET) || die "can't close netstat: $!";</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T022850Z">
+ <seg>close(NET) || die "no puedo cerrar netstat: $!";</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>close(PRINTER) || die "can't close lpr: $!";</seg>
</tuv>
<tuv lang="ES-ES" changeid="explorer" changedate="20121122T022908Z">
@@ -191551,8 +191630,8 @@ with integrated editor support</seg>
<tuv lang="EN-US">
<seg>except that it isn't so cumbersome to say, and will actually work.</seg>
</tuv>
- <tuv lang="ES-ES">
- <seg>excepto que no es tan complicado como hemos dicho, y funciona de forma efectiva.</seg>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T015905Z">
+ <seg>excepto que no es tan complicado como hemos dicho, y realmente funcionará.</seg>
</tuv>
</tu>
<tu>
@@ -205391,6 +205470,14 @@ scoped alias the way C&lt;foreach&gt; does.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>open(NET, "netstat -i -n |") || die "can't fork netstat: $!";</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T022824Z">
+ <seg>open(NET, "netstat -i -n |") || die "no puedo arrancar netstat: $!";</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>open(NULL, "&gt;", File::Spec-&gt;devnull);</seg>
</tuv>
<tuv lang="ES-ES" changeid="zipf" changedate="20110719T162327Z">
@@ -225027,6 +225114,14 @@ the time when used on a similar string with 1000000 C&lt;a&gt;s.</seg>
</tu>
<tu>
<tuv lang="EN-US">
+ <seg>while (&lt;NET&gt;) { } # do something with input</seg>
+ </tuv>
+ <tuv lang="ES-ES" changeid="explorer" changedate="20121231T022840Z">
+ <seg>while (&lt;NET&gt;) { } # hacer algo con la entrada</seg>
+ </tuv>
+ </tu>
+ <tu>
+ <tuv lang="EN-US">
<seg>while (&lt;SOCKET&gt;) {</seg>
</tuv>
<tuv lang="ES-ES" changeid="explorer" changedate="20110718T015306Z">
View
2  pod/translated/perl588delta.pod
@@ -1485,7 +1485,7 @@ Andy Lester suministró muchas mejoras para determinar qué parámetros de las f
Dave Mitchell mejoró la salida de depura del analizador léxico con C<-DT>
-Nicholas Clark cambió la asignación del búfer de cadena de texto por lo que ahora es redondeado al siguiente múltiplo de 4 (u 8 en las plataformas con punteros de 64 bits). Esto debería reducir el número de llamadas a C<realloc> sin tener que llegar a utilizar ningún otro espacio de memoria adicional.
+Nicholas Clark cambió la asignación del búfer de cadena de texto por lo que ahora es redondeado al siguiente múltiplo de 4 (u 8 en las plataformas con punteros de 64 bits). Esto debería reducir el número de llamadas a C<realloc> sin tener que llegar a utilizar realmente ningún otro espacio de memoria adicional.
El array de C<HV> de los C<HE*> es ahora asignado al correcto (y mínimo) tamaño, gracias a un nuevo cambio de Nicholas Clark. Compile con C<-DPERL_USE_LARGE_HV_ALLOC> para usar el viejo, descuidado, valor por defecto.
View
2  pod/translated/perldata.pod
@@ -247,7 +247,7 @@ asigna la lista completa al array @foo, pero
$foo = ('cc', '-E', $bar);
asigna el valor de la variable $bar a la variable escalar $foo.
-Tenga en cuenta que el valor de un array en contexto de escalar es la longitud del array; la línea siguiente asigna el valor 3 a $foo:
+Tenga en cuenta que el valor de un array real en contexto de escalar es la longitud del array; la línea siguiente asigna el valor 3 a $foo:
@foo = ('cc', '-E', $bar);
$foo = @foo; # se asigna 3 a $foo
View
135 pod/translated/perldbmfilter.pod
@@ -0,0 +1,135 @@
+=head1 NOMBRE
+
+perldbmfilter - Filtros DBM de Perl
+
+=head1 SINOPSIS
+
+ $db = tie %hash, 'DBM', ...
+
+ $filtro_anterior = $db->filter_store_key ( sub { ... } );
+ $filtro_anterior = $db->filter_store_value( sub { ... } );
+ $filtro_anterior = $db->filter_fetch_key ( sub { ... } );
+ $filtro_anterior = $db->filter_fetch_value( sub { ... } );
+
+=head1 DESCRIPCIÓN
+
+Los cuatro métodos C<filter_*> mostrados arriba están disponibles en todos los módulos DBM incluidos en Perl: DB_File, GDBM_File, NDBM_File,
+ODBM_File y SDBM_File.
+
+Todos los métodos funcionan de la misma manera y se usan para instalar (o
+desinstalar) un filtro DBM individual. La única diferencia entre ellos es el lugar en el que se instala el filtro.
+
+Su funcionamiento se puede resumir de la siguiente manera:
+
+=over 5
+
+=item B<filter_store_key>
+
+Si se ha instalado un filtro con este método, se invocará cada vez que se escriba una clave en una base de datos DBM.
+
+=item B<filter_store_value>
+
+Si se ha instalado un filtro con este método, se invocará cada vez que se escriba un valor en una base de datos DBM.
+
+=item B<filter_fetch_key>
+
+Si se ha instalado un filtro con este método, se invocará cada vez que se lea una clave de una base de datos DBM.
+
+=item B<filter_fetch_value>
+
+Si se ha instalado un filtro con este método, se invocará cada vez que se lea un valor de una base de datos DBM.
+
+=back
+
+Puede usar cualquier combinación de estos métodos (desde ninguno hasta los cuatro).
+
+Todos los métodos de filtro devuelven el filtro, si existe; de lo contrario, devuelven C<undef>.
+
+Para eliminar un filtro debe pasarle C<undef>.
+
+=head2 El filtro
+
+Cuando Perl llama a uno de estos filtros, una copia local de C<$_> contendrá la clave o el valor que se va a filtrar. El filtrado se realiza modificando el contenido de C<$_>. Se omite el código de retorno del filtro.
+
+=head2 Ejemplo: el problema de la terminación de cadenas con un carácter NULL
+
+Los filtros DBM son útiles para un tipo de problema en el que se desea aplicar I<siempre> la misma transformación a todas las claves, a todos los valores, o a todas las claves y todos los valores.
+
+Por ejemplo, considere el siguiente escenario. Tiene una base de datos DBM que desea compartir con una aplicación en C de terceros. La aplicación en C supone que I<todas> las claves y sus valores correspondientes terminan con un carácter NULL. Sin embargo, Perl no usa el carácter de terminación NULL al escribir en bases de datos DBM, por lo que la aplicación Perl deberá encargarse de agregar la terminación NULL. Para escribir en la base de datos debe usar una instrucción similar a la siguiente:
+
+ $hash{"$clave\0"} = "$valor\0";
+
+También hay que tener en cuenta el carácter NULL al determinar la longitud de claves y valores existentes.
+
+Sería mucho mejor poder ignorar el problema de los caracteres NULL de terminación de cadena en el código principal de la aplicación y disponer de un mecanismo que agregue automáticamente un carácter NULL de terminación a todas las claves y todos los valores que se escriban en la base de datos, y lo elimine al leer de la base de datos. Como ya se habrá imaginado, éste es un problema que se puede solucionar fácilmente con filtros DBM.
+
+ use strict;
+ use warnings;
+ use SDBM_File;
+ use Fcntl;
+
+ my %hash;
+ my $archivo = "filt";
+ unlink $archivo;
+
+ my $db = tie(%hash, 'SDBM_File', $archivo, O_RDWR|O_CREAT, 0640)
+ or die "No se puede abrir $archivo: $!\n";
+
+ # Instalar filtros DBM
+ $db->filter_fetch_key ( sub { s/\0$// } );
+ $db->filter_store_key ( sub { $_ .= "\0" } );
+ $db->filter_fetch_value(
+ sub { no warnings 'uninitialized'; s/\0$// } );
+ $db->filter_store_value( sub { $_ .= "\0" } );
+
+ $hash{"abc"} = "def";
+ my $a = $hash{"ABC"};
+ # ...
+ undef $db;
+ untie %hash;
+
+El código anterior usa SDBM_File, pero funcionará igual con todos los módulos DBM.
+
+El contenido de cada filtro debe ser autodescriptivo. Los dos filtros "fetch" quitan el carácter NULL de terminación y los dos filtros "store" agregan un carácter NULL de terminación.
+
+
+=head2 Otro ejemplo: las claves son enteros de C
+
+Otro ejemplo del mundo real: de manera predeterminada, cuando Perl escribe en una base de datos DBM, siempre escribe la clave y el valor como cadenas. Así, cuando se ejecuta la siguiente instrucción:
+
+ $hash{12345} = "algo";
+
+la clave 12345 se almacenará en la base de datos DBM como una cadena de 5 bytes, "12345". Si realmente desea almacenarla como un entero de C, debe usar C<pack> al escribir y C<unpack> al leer.
+
+El siguiente filtro DBM hace esto:
+
+ use strict;
+ use warnings;
+ use DB_File;
+ my %hash;
+ my $archivo = "filt";
+ unlink $archivo;
+
+
+ my $db = tie %hash, 'DB_File', $archivo, O_CREAT|O_RDWR, 0666, $DB_HASH
+ or die "No se puede abrir $archivo: $!\n";
+
+ $db->filter_fetch_key ( sub { $_ = unpack("i", $_) } );
+ $db->filter_store_key ( sub { $_ = pack ("i", $_) } );
+ $hash{123} = "def";
+ # ...
+ undef $db;
+ untie %hash;
+
+El código anterior usa DB_File, pero funcionará con cualquiera de los módulos DBM.
+
+En este caso no se han utilizado más que dos filtros; solo hay que manipular el contenido de la clave, por lo que no es necesario instalar ningún filtro de valores.
+
+=head1 VEA TAMBIÉN
+
+L<DB_File>, L<GDBM_File>, L<NDBM_File>, L<ODBM_File> y L<SDBM_File>.
+
+=head1 AUTOR
+
+Paul Marquess
+
View
58 pod/translated/perlfunc.pod
@@ -324,9 +324,9 @@ Estos operadores están exentos de la regla "se parece a una función" descrita
-s($archivo) + 1024 # probablemente mal; lo mismo que -s($archivo + 1024)
(-s $archivo) + 1024 # correcto
-La interpretación de los operadores de permisos de archivo C<-r>, C<-R>, C<-w>, C<-W>, C<-x> y C<-X> es por defecto basado sólamente en el modo del archivo y en los uid y gid del usuario. Puede haber otras razones por las que no pueda leer, escribir o ejecutar un archivo: por ejemplo, controles de acceso a sistemas de archivos en red, ACL (listas de control de acceso), sistemas de archivos de solo lectura, y formatos irreconocibles de ejecutables. Note que el uso de seis operadores específicos para verificar si cierta operación es posible, es usualmente una equivocación, porque puede ser el inicio de bloqueos de carrera.
+La interpretación de los operadores de permisos de archivo C<-r>, C<-R>, C<-w>, C<-W>, C<-x> y C<-X> es por defecto basado sólamente en el modo del archivo y en los uid y gid del usuario. Puede haber otras razones por las que realmente no pueda leer, escribir o ejecutar un archivo: por ejemplo, controles de acceso a sistemas de archivos en red, ACL (listas de control de acceso), sistemas de archivos de solo lectura, y formatos irreconocibles de ejecutables. Note que el uso de seis operadores específicos para verificar si cierta operación es posible, es usualmente una equivocación, porque puede ser el inicio de bloqueos de carrera.
-También note que, para el superusuario en el sistema de archivos local, los test C<-r>, C<-R>, C<-w> y C<-W> siempre devuelven 1, y C<-x> y C<-X> devuelven 1 si cualquier bit de ejecución está puesto en el modo del archivo. Scripts ejecutados por el superusuario pueden necesitar hacer un stat() para determinar el modo actual del archivo, o temporalmente poner su uid efectivo a otro valor.
+También note que, para el superusuario en el sistema de archivos local, los test C<-r>, C<-R>, C<-w> y C<-W> siempre devuelven 1, y C<-x> y C<-X> devuelven 1 si cualquier bit de ejecución está puesto en el modo del archivo. Scripts ejecutados por el superusuario pueden necesitar hacer un stat() para determinar el modo real del archivo, o temporalmente poner su uid efectivo a otro valor.
Si está usando ACL, hay un pragma llamado C<filetest> que puede producir resultados más precisos que los simples bits de modo de stat().
Cuando esté bajo C<use filetest 'access'>, las comprobaciones de archivo mencionadas antes comprobarán cuándo los permisos pueden (o no) ser concedidos usando la familia de llamadas del sistema access(2). Note también que C<-x> y C<-X> pueden, bajo este pragma, devolver valores verdaderos incluso si los bits de permiso de ejecución no están puestos (ni cualquier permiso ACL extra de ejecución). Este comportamiento tan extraño es debido a las definiciones subyacentes de las llamadas del sistema. Note también que, debido a la implementación de C<use filetest 'access'>, el identificador de archivo especial C<_> no almacenará los resultados de los test de archivo mientras este pragma esté activo. Para más información, lea la documentación del pragma C<filetest>.
@@ -458,7 +458,7 @@ C<:bytes>, C<:crlf>, C<:utf8>, y cualquier otra directiva de la forma C<:...>, s
I<El parámetro CAPA de la función binmode() se describe como "DISCIPLINA" en "Programming Perl, 3rd Edition". Sin embargo, desde la publicación de este libro, conocido por muchos como "Camel III", el consenso sobre el nombre de esta funcionalidad se ha movido desde "disciplina" a "capa". Toda documentación desde esta versión de Perl se refiere a "capas" en vez de a "disciplinas". Ahora volvamos a la documentación normal...>
Para indicar IDENTIFICADOR_ARCHIVO como UTF-8, use C<:utf8> o C<:encoding(UTF-8)>.
-C<:utf8> solo marca los datos como UTF-8 sin más comprobaciones ulteriores, mientras que C<:encoding(UTF-8)> comprueba que los datos sean UTF-8 válidos. Más detalles se pueden encontrar en L<PerlIO::encoding>.
+C<:utf8> solo marca los datos como UTF-8 sin más comprobaciones ulteriores, mientras que C<:encoding(UTF-8)> comprueba que los datos sean realmente UTF-8 válidos. Más detalles se pueden encontrar en L<PerlIO::encoding>.
En general, binmode() debe ser llamada después de open() pero antes de que cualquier I/O se realice sobre el identificador de archivo. Llamando a binmode(), normalmente vaciará cualquier dato pendiente que esté almacenado en la salida (y quizás datos pendientes a la entrada) del identificador de archivo. Una excepción a esto es la capa C<:encoding> que cambia la codificación por defecto del identificador de archivo; ver L</open>.
La capa C<:encoding> algunas veces necesita ser llamada en mitad del flujo de datos y no lo vacía. C<:encoding> también se coloca, implícitamente, por encima de la capa C<:utf8> porque Perl, internamente, opera con caracteres Unicode codificados en UTF-8.
@@ -594,7 +594,7 @@ Si VARIABLE se omite, usa C<$_>. Ejemplo:
Si VARIABLE es un hash, recorta los valores del hash, pero no sus claves.
-Puede recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación:
+Puede realmente recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación:
chomp($cwd = `pwd`);
chomp($respuesta = <STDIN>);
@@ -615,7 +615,7 @@ X<chop>
Recorta el último carácter de un string y devuelve el carácter recortado. Es más eficiente que C<s/.$//s> porque ni escanea ni copia el string. Si VARIABLE se omite, recorta C<$_>.
Si VARIABLE es un hash, recorta los valores del hash, pero no sus claves.
-Puede recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación.
+Puede realmente recortar cualquier cosa que sea un valor-izquierda, incluyendo una asignación.
Si recorta una lista, cada elemento es recortado. Sólo se devuelve el valor del último recorte.
@@ -1090,7 +1090,7 @@ X<array, iterator> X<array, iterador>
Cuando se llama en un hash en contexto de lista, devuelve una lista de dos elementos consistentes en la clave y el valor del siguiente elementos del hash. En Perl 5.12 y superiores, también devolverá el índice y el valor del siguiente elemento de un array, de modo que puede iterar sobre él; Perl más antiguos consideran esto como un error de sintaxis. Cuando se le llama en contexto escalar, sólo devuelve la clave (no el valor) del hash, o el índice del array.
-Las entradas de un hash son devueltas en un aparente orden aleatorio. El actual orden aleatorio está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C<keys> o C<values> producirían (mientras que el hash no haya sido modificado). Desde Perl 5.8.2 la ordenación puede ser diferente incluso entre diferentes ejecuciones de Perl por razones de seguridad (ver L<perlsec/"Ataques por Complejidad Algorítmica">).
+Las entradas de un hash son devueltas en un aparente orden aleatorio. El orden aleatorio real está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C<keys> o C<values> producirían (mientras que el hash no haya sido modificado). Desde Perl 5.8.2 la ordenación puede ser diferente incluso entre diferentes ejecuciones de Perl por razones de seguridad (ver L<perlsec/"Ataques por Complejidad Algorítmica">).
Después de que C<each> haya devuelto todas las entradas del hash o del array, la siguiente llamada a C<each> devuelve la lista vacía, en contexto lista, y C<undef> en contexto escalar; la siguiente llamada a I<ésa> reiniciará la iteración.
Cada hash o array tiene su propio iterador interno, accedido por C<each>, C<keys>, y C<values>. El iterador es implícitamente restablecido cuando C<each> ha llegado al final como se acaba de describir; puede ser explícitamente restablecido llamando a C<keys> o C<values> sobre el hash o array. Si añade o borra un elemento de un hash mientras está iterando sobre él, puede encontrarse con entradas desaparecidas o duplicadas, así que, es mejor que no lo haga. Excepción: en la implementación actual, siempre es seguro borrar el último ítem devuelto por C<each()>, por lo que entonces el siguiente código funcionará correctamente:
@@ -1281,7 +1281,7 @@ Ejemplos:
exec '/bin/echo', 'Tus argumentos son: ', @ARGV;
exec "sort $salida | uniq";
-Si realmente no quiere ejecutar el primer argumento, pero quiere engañar al programa que está ejecutando sobre su propio nombre, puede especificar el programa que quiera ejecutar como un "objeto indirecto" (sin la coma) enfrente de la LISTA. (Esto siempre fuerza la interpretación de la LISTA como una lista multievaluada, incluso si sólo hay un único escalar en la lista). Ejemplo:
+Si verdaderamente no quiere ejecutar el primer argumento, pero quiere engañar al programa que está ejecutando sobre su propio nombre, puede especificar el programa que realmente quiere ejecutar como un "objeto indirecto" (sin la coma) enfrente de la LISTA. (Esto siempre fuerza la interpretación de la LISTA como una lista multievaluada, incluso si sólo hay un único escalar en la lista). Ejemplo:
$shell = '/bin/csh';
exec $shell '-sh'; # finge que es un shell de login
@@ -1542,7 +1542,7 @@ A partir de la versión v5.6.0, Perl intentará vaciar todos los archivos abiert
Si usted hace un C<fork> sin luego esperar a sus hijos, irá acumulando zombies. En algunos sistemas, puede evitar esto poniendo C<$SIG{CHLD}> a C<"IGNORE">. Ver también L<perlipc> para más ejemplos de fork y borrado de hijos moribundos.
-Note que si su hijo hereda los descriptores de archivo del sistema como STDIN y STDOUT que estén conectados a una tubería o a un socket, incluso si usted sale del programa, el servidor remoto (por ejemplo, un script CGI o un proceso lanzado en segundo plano desde un shell remoto) no se dará cuenta de que se ha ido.
+Note que si su hijo hereda los descriptores de archivo del sistema como STDIN y STDOUT que estén realmente conectados a una tubería o a un socket, incluso si usted sale del programa, el servidor remoto (por ejemplo, un script CGI o un proceso lanzado en segundo plano desde un shell remoto) no se dará cuenta de que se ha ido.
Deberá reabrirlos a F</dev/null> si eso es un problema.
En algunas plataformas, como Windows, en donde la llamada del sistema fork() no está disponible, Perl se puede compilar para emular fork() en el intérprete de Perl.
@@ -1989,7 +1989,7 @@ o equivalentemente,
@foo = grep {!/^#/} @bar; # quitar los comentarios
Note que C<$_> es un alias al valor de la lista, por lo que se puede usar para modificar los elementos de la LISTA. Mientras que esto suele ser útil, puede causar resultados extraños si los elementos de la LISTA no son variables.
-Semejantemente, grep devuelve alias de la lista original, como los alias de los elementos de la lista de las variables de los bucles for. Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C<foreach>, C<map> u otro C<grep>) modifica el elemento en la lista original.
+De forma semejante, grep devuelve alias de la lista original, como los alias de los elementos de la lista de las variables de los bucles for. Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C<foreach>, C<map> u otro C<grep>) modifica realmente el elemento en la lista original.
Esto es algo usualmente a ser evitado cuando se está escribiendo código claro.
Si C<$_> es léxica en el ámbito de aplicación donde C<grep> aparece (porque se ha declarado con C<my $_>) entonces, además de ser un alias local a los elementos de la lista, C<$_> se mantiene léxica dentro del bloque; es decir, no puede ser vista desde el exterior, evitando cualquier potencial efecto colateral.
@@ -2049,7 +2049,7 @@ Implementa la función ioctl(2). Probablemente primero querrá escribir
require "sys/ioctl.ph"; # probablemente en $Config{archlib}/sys/ioctl.ph
para obtener las correctas definiciones de la función. Si F<sys/ioctl.ph> no existe o no tiene las definiciones correctas, tendrá que incorporar las suyas propias, basadas en sus archivos de cabecera C como las de F<< <sys/ioctl.h> >>.
-(Existe un script Perl llamado B<h2ph> que viene con el kit Perl que puede ayudarle en esto, pero no es nada trivial). ESCALAR será leído o escrito dependiendo de la FUNCIÓN; un puntero C al valor de la cadena ESCALAR será pasado como tercer argumento de la actual llamada C<ioctl>. (Si ESCALAR no tiene un valor de cadena sino que tiene un valor numérico, ese valor será el que se pase, en lugar de un puntero al valor de la cadena. Para garantizar que esto sea cierto, sume un C<0> al escalar antes de usarlo). Las funciones C<pack> y C<unpack> pueden ser necesarias para manipular los valores de las estructuras utilizadas por C<ioctl>.
+(Existe un script Perl llamado B<h2ph> que viene con el kit Perl que puede ayudarle en esto, pero no es nada trivial). ESCALAR será leído o escrito dependiendo de la FUNCIÓN; un puntero C al valor de la cadena ESCALAR será pasado como tercer argumento de la llamada real a C<ioctl>. (Si ESCALAR no tiene un valor de cadena sino que tiene un valor numérico, ese valor será el que se pase, en lugar de un puntero al valor de la cadena. Para garantizar que esto sea cierto, sume un C<0> al escalar antes de usarlo). Las funciones C<pack> y C<unpack> pueden ser necesarias para manipular los valores de las estructuras utilizadas por C<ioctl>.
El valor devuelto de C<ioctl> (y C<fcntl>) es como sigue:
@@ -2058,7 +2058,7 @@ El valor devuelto de C<ioctl> (y C<fcntl>) es como sigue:
0 cadena "0 but true"
otra cosa ese número
-Así, Perl devuelve verdadero en éxito y falso en caso de error, por lo que aún podemos determinar el valor actual devuelto por el sistema operativo:
+Así, Perl devuelve verdadero en éxito y falso en caso de error, por lo que aún podemos determinar el valor real devuelto por el sistema operativo:
$retval = ioctl(...) || -1;
printf "Sistema devolvió %d\n", $retval;
@@ -2089,7 +2089,7 @@ X<keys> X<key> X<clave>
Llamado en contexto de lista, devuelve una lista consistente en todas las claves del hash indicado, o en Perl 5.12 o posteriores, los índices de un array. Versiones de Perl anteriores a 5.12 producirán un error de sintaxis si intenta utilizar un array como argumento. En contexto escalar, devuelve el número de claves o índices.
-Las claves de un hash son devueltas en un aparente orden aleatorio. El actual orden aleatorio está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C<values> o C<each> producirían (mientras que el hash no haya sido modificado). Desde Perl 5.8.1 la ordenación puede ser diferente incluso entre diferentes ejecuciones de Perl por razones de seguridad (ver L<perlsec/"Ataques por Complejidad Algorítmica">).
+Las claves de un hash son devueltas en un aparente orden aleatorio. El orden aleatorio real está sujeto a cambio en futuras versiones de Perl, pero se garantiza que sea el mismo orden que las funciones C<values> o C<each> producirían (mientras que el hash no haya sido modificado). Desde Perl 5.8.1 la ordenación puede ser diferente incluso entre diferentes ejecuciones de Perl por razones de seguridad (ver L<perlsec/"Ataques por Complejidad Algorítmica">).
Como efecto colateral, llamando a keys() reinicia el iterador interno del HASH o del ARRAY (vea L</each>). De forma particular, llamando a keys() en contexto nulo (void) resetea el iterador sin otro efecto.
@@ -2142,7 +2142,7 @@ X<kill> X<signal> X<señal>
=for Pod::Functions send a signal to a process or process group
-Manda una señal a una lista de procesos. Devuelve el número de procesos señalados exitosamente (que no es necesariamente el mismo número de los llamados).
+Manda una señal a una lista de procesos. Devuelve el número de procesos señalados exitosamente (que no es necesariamente el mismo número de los realmente asesinados).
$cnt = kill 1, $child1, $child2;
kill 9, @finalizadores;
@@ -2528,7 +2528,7 @@ X<msgsnd>
=for Pod::Functions send a SysV IPC message to a message queue
-Llama a la función msgsnd de System V IPC para enviar el mensaje MSG a la cola de mensajes ID. MSG debe comenzar con un tipo de mensaje, contenido en un entero nativo largo, seguido por la longitud del mensaje, y finalmente el mensaje mismo. Este tipo de empaquetado se puede lograr con C<pack("l! a*", $tipo, $mensaje)>. Devuelve verdadero si tuvo éxito, falso en caso de error. Vea también la documentación de C<IPC::SysV> y C<IPC::SysV::Msg>.
+Llama a la función msgsnd de System V IPC para enviar el mensaje MSG a la cola de mensajes ID. MSG debe comenzar con un tipo de mensaje, contenido en un entero nativo largo, seguido por la longitud del mensaje real, y finalmente el mensaje mismo. Este tipo de empaquetado se puede lograr con C<pack("l! a*", $tipo, $mensaje)>. Devuelve verdadero si tuvo éxito, falso en caso de error. Vea también la documentación de C<IPC::SysV> y C<IPC::SysV::Msg>.
Cuestiones de portabilidad: L<perlport/msgsnd>.
@@ -3656,7 +3656,7 @@ De estas propiedades, los dos más importantes son Pattern_Syntax y Pattern_Whit
Perl promete, que si alguna vez añadimos metacaracteres de patrones de expresión regular a la docena que ya está definida (C<\ E<verbar> ( ) [ { ^ * $ + ? .>), sólo usaremos aquellos que tengan la propiedad Pattern_Syntax. Perl también promete, que si alguna vez añadimos caracteres que han de ser considerados como espacio en blanco en las expresiones regulares (actualmente, las más afectadas serán las que tengan el C</x>), todos ellos tendrán la propiedad Pattern_White_Space.
-Unicode promete que el conjunto de puntos de código que tienen estas dos propiedades nunca cambiará, así que algo que no se escape en v5.16 nunca tendrá que ser escapado en cualquier futura versión de Perl. (No todos los puntos de código que coinciden con Pattern_Syntax tienen caracteres asignados a ellos; así que hay espacio para crecer, pero son escapados tanto si están asignados como si no. Perl, por supuesto, nunca usaría un punto de código asignado como un metacarácter actual).
+Unicode promete que el conjunto de puntos de código que tienen estas dos propiedades nunca cambiará, así que algo que no se escape en v5.16 nunca tendrá que ser escapado en cualquier futura versión de Perl. (No todos los puntos de código que coinciden con Pattern_Syntax tienen realmente caracteres asignados a ellos; así que hay espacio para crecer, pero son desactivados tanto si están asignados como si no. Perl, por supuesto, nunca usaría un punto de código asignado como un metacarácter real).
Escapar caracteres que tienen las otras 3 propiedades se hace para mejorar la legibilidad de la expresión regular y no porque realmente se necesita que estén escapados para los fines de las expresiones regulares (caracteres con la propiedad White_Space es probable que sean indistinguibles en la página o en la pantalla de los que tienen la propiedad Pattern_White_Space; y las otras dos propiedades contienen caracteres no imprimibles).
@@ -3687,9 +3687,9 @@ X<read> X<file, read> X<archivo, leer>
=for Pod::Functions fixed-length buffered input from a filehandle
-Intento de leer LONGITUD I<caracteres> de datos en la variable ESCALAR del IDENTIFICADOR_ARCHIVO especificado. Devuelve el número de caracteres actualmente leídos, C<0> al final del archivo, o undef si hubo un error (en este último caso se actualiza el valor de C<$!>). ESCALAR crecerá o se reducirá de manera que el último carácter leído es el último carácter del escalar después de la lectura.
+Intento de leer LONGITUD I<caracteres> de datos en la variable ESCALAR del IDENTIFICADOR_ARCHIVO especificado. Devuelve el número de caracteres realmente leídos, C<0> al final del archivo, o undef si hubo un error (en este último caso se actualiza el valor de C<$!>). ESCALAR crecerá o se reducirá de manera que el último carácter realmente leído es el último carácter del escalar después de la lectura.
-Un DESPLAZAMIENTO se puede especificar para colocar los datos leídos en algún otro lugar de la cadena distinto del principio. Un DESPLAZAMIENTO negativo especifica el desplazamiento en número de caracteres contando desde el final de la cadena. Un DESPLAZAMIENTO positivo mayor que la longitud de ESCALAR resulta en un cadena rellenada al tamaño requerido con bytes C<"\0"> antes de que el resultado de la lectura sea añadido.
+Un DESPLAZAMIENTO se puede especificar para colocar los datos leídos en algún otro lugar de la cadena, distinto del principio. Un DESPLAZAMIENTO negativo especifica el desplazamiento en número de caracteres contando desde el final de la cadena. Un DESPLAZAMIENTO positivo mayor que la longitud de ESCALAR resulta en un cadena rellenada al tamaño requerido con bytes C<"\0"> antes de que el resultado de la lectura sea añadido.
La llamada se implementa en términos de Perl o de la función nativa fread(3) de su sistema. Para obtener una auténtica llamada del sistema read(2), vea L<sysread|/sysread IDENTIFICADOR_ARCHIVO,ESCALAR,LONGITUD,DESPLAZAMIENTO>.
@@ -3786,8 +3786,8 @@ X<recv>
=for Pod::Functions receive a message over a Socket
Recibe un mensaje de un socket. Intenta leer LONGITUD I<caracteres> de datos en la variable ESCALAR del identificador de archivo SOCKET especificado.
-ESCALAR crecerá o se reducirá a la longitud de la lectura actual. Toma las mismas banderas que la llamada al sistema del mismo nombre. Devuelve la dirección del remitente si el protocolo del SOCKET lo soporta; de otra manera, devuelve una cadena vacía. Si hay un error, devuelve el valor indefinido.
-Esta llamada está implementada actualmente en términos de la llamada del sistema recvfrom(2).
+ESCALAR crecerá o se reducirá a la longitud de la lectura real. Toma las mismas banderas que la llamada al sistema del mismo nombre. Devuelve la dirección del remitente si el protocolo del SOCKET lo soporta; de otra manera, devuelve una cadena vacía. Si hay un error, devuelve el valor indefinido.
+Esta llamada está implementada realmente en términos de la llamada del sistema recvfrom(2).
Ver L<perlipc/"UDP: Paso de mensajes"> para ejemplos.
Note los I<caracteres>: dependiendo del estado del socket, son leídos bytes (8-bit) o caracteres. Por defecto todos los I<sockets> operan en bytes, pero por ejemplo si el I<socket> ha sido cambiado usando binmode() para operar con la capa de E/S C<:encoding(utf8)> (ver el pragma C<open>, L<open>), la E/S operará en caracteres codificados en UTF-8, no bytes. Del mismo modo, para el pragma C<:encoding>: en este caso casi todos los caracteres se pueden leer.
@@ -4489,7 +4489,7 @@ En contexto lista, ordena la LISTA y devuelve los valores de la lista ordenados.
En contexto escalar, el comportamiento de C<sort()> es indefinido.
Si NOMBRE_SUB O BLOQUE se omite, se ordena siguiendo una comparación estándar de cadenas de caracteres. Si se ha especificado NOMBRE_SUB, da el nombre de la subrutina que devuelve un entero menor que, igual que, o mayor que C<0>, dependiendo de cómo los elementos de la lista tienen que ser ordenados. (Los operadores C<< <=> >> y C<cmp> son muy útiles en este tipo de rutinas).
-NOMBRE_SUB puede ser el nombre de una variable escalar, en cuyo caso el valor provee el nombre de (o la referencia a) la actual subrutina a usar. En lugar de un NOMBRE_SUB, puede proporcionar un BLOQUE como si fuera una subrutina de ordenación anónima.
+NOMBRE_SUB puede ser el nombre de una variable escalar, en cuyo caso el valor provee el nombre de (o la referencia a) la subrutina real a usar. En lugar de un NOMBRE_SUB, puede proporcionar un BLOQUE como si fuera una subrutina de ordenación anónima.
Si el prototipo de la subrutina es C<($$)>, los elementos a ser comparados son pasados por referencia en C<@_>, como en una subrutina normal. Esto es más lento que las subrutinas no prototipadas, donde los elementos a comparar son pasados a la subrutina en las variables globales del paquete actual $a y $b (ver ejemplo más abajo). Tenga en cuenta que en el último caso, suele ser altamente contraproducente declarar $a y $b como léxicas.
@@ -4501,7 +4501,7 @@ También no puede salir fuera del bloque de ordenación o de la subrutina utiliz
Cuando C<use locale> está activo (pero no C<use locale 'not_characteres'>), C<sort LISTA> ordena LISTA de acuerdo con la actual configuración regional de cotejo. Vea L<perllocale>.
-sort() devuelve alias en la lista original, como lo hace la variable de índice de los bucles for(), que hace un alias de los elementos de la lista. Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C<foreach>, C<map> o C<grep>) modifica el elemento en la lista original. Esto suele ser algo que debe ser evitado cuando se está escribiendo código claro.
+sort() devuelve alias en la lista original, como lo hace la variable de índice de los bucles for(), que hace un alias de los elementos de la lista. Es decir, modificar un elemento de la lista devuelto por grep (por ejemplo, en un C<foreach>, C<map> o C<grep>) modifica realmente el elemento en la lista original. Esto suele ser algo que debe ser evitado cuando se está escribiendo código claro.
Perl v5.6 y anteriores usaban un algoritmo quicksort para implementar sort.
Este algoritmo no era estable, y I<podría> ser cuadrático. (Un sort I<estable> preserva el orden de los elementos de entrada que sean iguales en la comparación. Aunque el tiempo de ejecución de quicksort es O(NlogN) de promedio de todos los arrays de longitud N, el tiempo puede ser O(N**2), comportamiento I<cuadrático>, para algunas entradas). En v5.7 la implementación de quicksort fue reemplazada con un algoritmo estable mergesort cuyo peor comportamiento es O(NlogN).
@@ -5126,7 +5126,7 @@ No todos los campos están soportados por todos los sistemas de archivos. Aquí
9 mtime tiempo última modificación, en segundos desde el epoch
10 ctime tiempo cambio inodo, en segundos desde el (*)
11 blksize tamaño preferido del bloque de E/S para el sistema de archivos
- 12 blocks número actual de bloques reservados
+ 12 blocks número real de bloques reservados
(El epoch fue a las 00:00 GMT del 1 de enero de 1970)
@@ -5432,9 +5432,9 @@ X<sysread>
=for Pod::Functions fixed-length unbuffered input from a filehandle
-Intenta leer LONGITUD bytes de datos en la variable ESCALAR desde el IDENTIFICADOR_ARCHIVO especificado, utilizando read(2). Omite E/S con búfer, por lo que mezclar esto con otros tipos de lecturas, C<print>, C<write>, C<seek>, C<tell>, o C<eof> puede causar confusión porque las capas Perlio o stdio por lo general usan búfer de datos. Devuelve el número de bytes realmente leídos, C<0> al final del archivo, o undef si hubo un error (en este último caso, también se establece C<$!>). ESCALAR crecerá o se reducirá de manera que el último byte leído sea el último byte del escalar después de la lectura.
+Intenta leer LONGITUD bytes de datos en la variable ESCALAR desde el IDENTIFICADOR_ARCHIVO especificado, utilizando read(2). Omite E/S con búfer, por lo que mezclar esto con otros tipos de lecturas, C<print>, C<write>, C<seek>, C<tell>, o C<eof> puede causar confusión porque las capas Perlio o stdio por lo general usan búfer de datos. Devuelve el número de bytes realmente leídos, C<0> al final del archivo, o undef si hubo un error (en este último caso, también se establece C<$!>). ESCALAR crecerá o se reducirá de manera que el último byte realmente leído sea el último byte del escalar después de la lectura.
-Un DESPLAZAMIENTO se puede especificar para colocar los datos leídos en algún otro lugar de la cadena distinto del principio. Un DESPLAZAMIENTO negativo especifica el desplazamiento en número de caracteres contando desde el final de la cadena. Un DESPLAZAMIENTO positivo mayor que la longitud de ESCALAR resulta en un cadena rellenada al tamaño requerido con bytes C<"\0"> antes de que el resultado de la lectura sea añadido.
+Un DESPLAZAMIENTO se puede especificar para colocar los datos leídos en algún otro lugar de la cadena, distinto del principio. Un DESPLAZAMIENTO negativo especifica el desplazamiento en número de caracteres contando desde el final de la cadena. Un DESPLAZAMIENTO positivo mayor que la longitud de ESCALAR resulta en un cadena rellenada al tamaño requerido con bytes C<"\0"> antes de que el resultado de la lectura sea añadido.
No hay función syseof(), que está bien, ya que, de todos modos, eof() no funciona bien con los archivos de dispositivo (como los ttys). Use sysread() y compruebe si el valor devuelto es 0 para decidir si ha llegado al final.
@@ -5724,7 +5724,7 @@ X<umask>
Establece la umask para el proceso a EXPR y devuelve el valor anterior.
Si EXPR se omite, simplemente devuelve la umask actual.
-Los permisos Unix C<rwxr-x---> son representados como tres conjuntos de tres bits, o tres dígitos octales: C<0750> (el 0 precedente indica que es octal, y que no es uno de los dígitos). El valor de C<umask> es un número que representa los bits de lso permisos que quedan desactivados. El valor de permiso (o "modo") que se pasa a C<mkdir> o C<sysopen> son modificados por su C<umask>, así que incluso si usted le pide a C<sysopen> crear un archivo con permisos C<0777>, y su C<umask> es C<0022>, entonces el archivo realmente es creado con permisos C<0755>. Si su C<umask> fuera C<0027> (el grupo no puede escribir; los otros no pueden leer, escribir o ejecutar), entonces pasando a C<sysopen> C<0666> creará un archivo con el modo C<0640> (porque C<0666 &~ 027> es C<0640>).
+Los permisos Unix C<rwxr-x---> son representados como tres conjuntos de tres bits, o tres dígitos octales: C<0750> (el 0 precedente indica que es octal, y que no es uno de los dígitos). El valor de C<umask> es un número que representa los bits de lso permisos que quedan desactivados. El valor de permiso (o "modo") que se pasa a C<mkdir> o C<sysopen> son modificados por su C<umask>, así que incluso si usted le pide a C<sysopen> crear un archivo con permisos C<0777>, y su C<umask> es C<0022>, entonces el archivo realmente se crea con permisos C<0755>. Si su C<umask> fuera C<0027> (el grupo no puede escribir; los otros no pueden leer, escribir o ejecutar), entonces pasando a C<sysopen> C<0666> creará un archivo con el modo C<0640> (porque C<0666 &~ 027> es C<0640>).
He aquí algunos consejos: suministre un modo de creación de C<0666> para archivos regulares (en C<sysopen>) y uno de C<0777> para directorios (en C<mkdir>) y los archivos ejecutables. Esto ofrece a los usuarios la libertad de elección: si quieren archivos protegidos, podrían elegir un umasks para el proceso de C<022>, C<027>, o incluso la máscara, particularmente antisocial, de C<077>.
Los programas rara vez o nunca deben tomar decisiones políticas, que es mejor dejar al usuario. La excepción a esto es cuando se escriben archivos que deben mantenerse de forma privada: archivos de correo, los cookies del navegador web, archivos I<rhosts>, y así sucesivamente.
@@ -5888,7 +5888,7 @@ Suele ser útil si necesita comprobar la versión actual de Perl antes de que C<
(Tratamos de no hacer esto no más de lo necesario).
C<use VERSIÓN> también activará todas las características disponibles en la versión solicitada tal como son definidas por el pragma C<feature>, desactivando cualquier característica no incluida en la versión solicitada. Ver L<feature>.
-Del mismo modo, si la versión especificada de Perl es mayor o igual a 5.11.0, el modo de trabajo estricto quedará activado léxicamente, igual a como lo hace C<use strict>. Cualquier uso explícito de C<use strict> o C<no strict> anula C<use VERSIÓN>, incluso si se coloca antes de él. En ambos casos, los archivos F<feature.pm> y F<strict.pm> no son cargados.
+Del mismo modo, si la versión especificada de Perl es mayor o igual a 5.11.0, el modo de trabajo estricto quedará activado léxicamente, igual a como lo hace C<use strict>. Cualquier uso explícito de C<use strict> o C<no strict> anula C<use VERSIÓN>, incluso si se coloca antes de él. En ambos casos, los archivos F<feature.pm> y F<strict.pm> no son realmente cargados.
El C<BEGIN> fuerza a ejecutar a C<require> e C<import> en tiempo de compilación. El C<require> se asegura que el módulo esté cargado en memoria, si todavía no lo está. El C<import> no es una función predefinida; es sólo una llamada al método estático ordinario en el paquete C<Módulo> para indicar al módulo que importe la lista de características en el paquete actual. El módulo puede implementar su propio método C<import> de la forma que desee, aunque la mayoría de los módulos sólo eligen derivar su método C<import> vía herencia desde la clase C<Exporter> que se define en el módulo C<Exporter>. Ver L<Exporter>. Si no se puede encontrar ningún método C<import> entonces la llamada se pasa por alto, incluso si hay un método AUTOLOAD.
@@ -5970,7 +5970,7 @@ X<values>
En contexto de lista, devuelve una lista que consta de todos los valores del hash indicado. En Perl 5.12 y superiores, también devolverá una lista de los valores de un array; Perl más antiguos considerarán esto como un error de sintaxis. En contexto escalar, devuelve el número de valores.
-Cuando se llama sobre un hash, los valores son devueltos en un aparente orden aleatorio. El orden aleatorio actual está sujeto a cambio en futuras versiones de Perl, pero se garantiza que es el mismo orden que las funciones C<keys> o C<each> producirían con el mismo (no modificado) hash. Desde Perl 5.8.1 la ordenación es diferente incluso entre diferentes ejecuciones de Perl por razones de seguridad (vea L<perlsec/"Ataques por Complejidad Algorítmica">).
+Cuando se llama sobre un hash, los valores son devueltos en un aparente orden aleatorio. El orden aleatorio real está sujeto a cambio en futuras versiones de Perl, pero se garantiza que es el mismo orden que las funciones C<keys> o C<each> producirían con el mismo (no modificado) hash. Desde Perl 5.8.1 la ordenación es diferente incluso entre diferentes ejecuciones de Perl por razones de seguridad (vea L<perlsec/"Ataques por Complejidad Algorítmica">).
Como efecto colateral, llamando a values() reinicia el iterador interno del HASH o ARRAY (vea L</each>). (De forma particular, llamando a values() en contexto nulo (void) reinicia el iterador sin otro efecto adicional. Además de restablecer el iterador, C<values @array> en contexto lista es lo mismo que un simple C<@array>.
(Le recomendamos que para esto utilice el contexto vacío C<keys @array>, pero razonando que quitar C<values @array> exigirá dar más explicaciones que dejarlo tal cual).
@@ -6045,7 +6045,7 @@ Para transformar un vector de bits en una cadena o una lista de 0 y 1, utilice l
Si conoce la longitud exacta en bits, puede ser utilizada en lugar de la C<*>.
-Este es un ejemplo para ilustrar cómo los bits están amparados efectivamente en su lugar:
+Este es un ejemplo para ilustrar cómo los bits están realmente amparados en su lugar:
#!/usr/bin/perl -wl
@@ -6268,7 +6268,7 @@ Si la salida está vacía y C<$@> ya contiene un valor (típicamente de un eval(
Si C<$@> está vacío entonces se usa la cadena C<"Warning: Something's wrong">.
-Ningún mensaje se imprime si hay instalado un controlador C<$SIG{__WARN__}>. Es responsabilidad del controlador tratar el mensaje como lo considere oportuno (como, por ejemplo, convertirlo en un C<die>). La mayoría de los controladores, por lo tanto, deben hacer los arreglos necesarios para mostrar las advertencias de las que no están preparados para hacer frente, llamando a C<warn> de nuevo en el controlador. Tenga en cuenta que esto es bastante seguro y no producirá un bucle sin fin, puesto que los enganches C<__WARN__> no son llamados desde el interior de uno mismo.
+Ningún mensaje se imprime si hay instalado un controlador C<$SIG{__WARN__}>. Es responsabilidad del controlador tratar el mensaje como lo considere oportuno (como, por ejemplo, convertirlo en un C<die>). La mayoría de los controladores, por lo tanto, deben hacer los arreglos necesarios para realmente mostrar las advertencias de las que no están preparados para hacer frente, llamando a C<warn> de nuevo en el controlador. Tenga en cuenta que esto es bastante seguro y no producirá un bucle sin fin, puesto que los enganches C<__WARN__> no son llamados desde el interior de uno mismo.
Usted encontrará que este comportamiento es ligeramente diferente a la de los controladores C<$SIG{__DIE__}> (que no suprimen el texto de error, pero puede llamar, en su lugar, a C<die> de nuevo para cambiarlo).
View
2  pod/translated/perlglossary.pod
@@ -18,7 +18,7 @@ L<Método|/método> que se usa para actualizar o inspeccionar de forma indirecta
=item argumentos reales
Los L<valores escalares|/valor escalar> que se suministran a una L</función>
-o L</subrutina> al llamarla. Por ejemplo, al realizar la llamada C<encendido("activar")>, la cadena C<"activar"> es el valor del argumento. Vea también L</argumento> y L</argumentos formales>.
+o L</subrutina> al llamarla. Por ejemplo, al realizar la llamada C<encendido("activar")>, la cadena C<"activar"> es el valor real del argumento. Vea también L</argumento> y L</argumentos formales>.
=item operador de direccionamiento
View
2  pod/translated/perllexwarn.pod
@@ -335,7 +335,7 @@ Considere el módulo C<MiMod::Abc> siguiente.
1;
-La llamada a C<warnings::register> creará una nueva categoría de advertencias llamada "MiMod::Abc", es decir, el nuevo nombre de la categoría coincide con el nombre del paquete actual. La función C<open> en el módulo mostrará un mensaje de advertencia si se da una ruta relativa como parámetro. Esta advertencia sólo será mostrará si el código que utiliza C<MiMod::Abc> tiene activado el pragma C<warnings> como se indica a continuación.
+La llamada a C<warnings::register> creará una nueva categoría de advertencias llamada "MiMod::Abc", es decir, el nuevo nombre de la categoría coincide con el nombre del paquete actual. La función C<open> en el módulo mostrará un mensaje de advertencia si se da una ruta relativa como parámetro. Estas advertencias sólo se mostrarán si el código que utiliza C<MiMod::Abc> realmente ha activado el pragma C<warnings>, como se indica a continuación.
use MiMod::Abc;
use warnings 'MiMod::Abc';
View
2  pod/translated/perllocale.pod
@@ -229,7 +229,7 @@ Lamentablemente, a pesar de que la interfaz de llamada a setlocale() está norma
Dos configuraciones regionales especiales son dignas de mención particular: "C" y "POSIX".
Actualmente, son, de forma efectiva, la misma configuración regional: la diferencia está principalmente en que la primera está definida por el estándar C, mientras que la segunda lo es por el estándar POSIX. Definen la B<configuración regional por defecto> con la que todo programa se inicia, en ausencia de información de configuración regional por parte de su entorno. (La configuración regional por defecto I<predeterminada>, si así lo prefiere). Su idioma es Inglés (americano) y su juego de caracteres, ASCII.
-B<Advertencia>. La configuración regional C incluida por algunos vendedores puede no coincidir exactamente con lo que la norma C exige. Así que tenga cuidado.
+B<Advertencia>. La configuración regional C incluida por algunos vendedores puede no coincidir realmente, y de forma exacta, con lo que exige el estándar de llamadas en C. Así que tenga cuidado.
B<NOTA>: No todos los sistemas tienen la configuración regional "POSIX" (no todos los sistemas son conformes con POSIX), así que use "C" cuando necesita explícitamente especificar esta configuración regional predeterminada.
View
8 pod/translated/perlop.pod
@@ -320,9 +320,9 @@ X<~~>
Disponible por primera vez en Perl 5.10.1 (la versión 5.10.0 se comportaba de manera diferente), el binario C<~~> hace una "coincidencia inteligente" entre sus argumentos. Casi siempre se usa implícitamente en la construcción C<when> descrito en L<perlsyn>, aunque no todas las cláusulas C<when> llaman al operador coincidencia inteligente. Único entre todos los operadores de Perl, el operador coincidencia inteligente puede ser recursivo.
-También es único en que todos los demás operadores de Perl imponen un contexto (generalmente contexto numérico o de cadena) en sus operandos, autoconvirtiendo estos operandos a esos contextos impuestos. En contraste, la coincidencia inteligente I<infiere> el contexto a partir de los tipos actuales de sus operandos, y usa esta información para seleccionar un mecanismo de comparación adecuado.
+También es único en que todos los demás operadores de Perl imponen un contexto (generalmente contexto numérico o de cadena) en sus operandos, autoconvirtiendo estos operandos a esos contextos impuestos. En contraste, la coincidencia inteligente I<infiere> el contexto a partir de los tipos reales de sus operandos, y usa esta información para seleccionar un mecanismo de comparación adecuado.
-El operador C<~~> compara sus operandos de forma "polimórfica", determinando cómo compararlos en función de sus tipos actuales (numérico, cadena, matriz, hash, etc.). Al igual que los operadores de igualdad con los que comparte la misma prioridad, C<~~> devuelve 1 para verdadero y C<""> para falso. A menudo es mejor leerlo en voz alta como "en", "dentro de", o "está contenido en", ya que a menudo el operando de la izquierda es visto como I<dentro> del operando derecho. Esto hace que el orden de los operandos del operador coincidencia inteligente a menudo es opuesto a la del operador expresión regular. En otras palabras, la cosa más "pequeña" se suele colocar en el operando de la izquierda y el más grande en el de la derecha.
+El operador C<~~> compara sus operandos de forma "polimórfica", determinando cómo compararlos en función de sus tipos reales (numérico, cadena, matriz, hash, etc.). Al igual que los operadores de igualdad con los que comparte la misma prioridad, C<~~> devuelve 1 para verdadero y C<""> para falso. A menudo es mejor leerlo en voz alta como "en", "dentro de", o "está contenido en", ya que a menudo el operando de la izquierda es visto como I<dentro> del operando derecho. Esto hace que el orden de los operandos del operador coincidencia inteligente a menudo es opuesto a la del operador expresión regular. En otras palabras, la cosa más "pequeña" se suele colocar en el operando de la izquierda y el más grande en el de la derecha.
El comportamiento del operador coincidencia inteligente depende del tipo de sus argumentos, según lo determinado por la siguiente tabla. La primera fila de la tabla cuyos tipos coincidan determina el comportamiento de coincidencia inteligente. Debido a que lo que realmente sucede es determinado principalmente por el tipo del segundo operando, la tabla está ordenada alfabéticamente por el operando de la derecha en vez de por el de la izquierda.
@@ -1099,7 +1099,7 @@ Si C<use locale> está en vigor (pero no C<use locale ':not_characters'>), el ma
Si se usa Unicode (por ejemplo, C<\N{}> o códigos de punto de 0x100 o superiores), el mapeo de tamaño de caja usado por C<\l>, C<\L>, C<\u> y C<\U> está definido por Unicode. Esto significa que el mapeo de un único carácter a veces puede producir varios caracteres.
Bajo C<use locale>, C<\F> produce los mismos resultados que C<\L>.
-Todos los sistemas usan el carácter virtual C<"\n"> para representar un terminador de línea, llamado un "nueva línea". No existe tal cosa como un invariable o físico, carácter de nueva línea. Es sólo una ilusión que el sistema operativo, controladores de dispositivo, bibliotecas de C, y Perl, conspiran para preservar. No todos los sistemas leen C<"\r"> como ASCII CR y C<"\n"> como ASCII LF. Por ejemplo, en los antiguos Mac (pre MacOS X) de antaño, estos solían estar invertidos, y en los sistemas sin terminador de línea, la impresión de un C<"\n"> podría no emitir ningún dato. En general, utilice C<"\n"> cuando se refiera a una "nueva línea" para su sistema, pero use el literal ASCII cuando necesite un carácter exacto. Por ejemplo, la mayoría de protocolos de red esperan y prefieren un CR+LF (C<"\015\012"> o C<"\cM\cJ">) como terminadores de línea, y aunque a menudo aceptan sólo C<"\012">, rara vez tolerarán sólo un C<"\015">. Si se mete en el hábito de usar C<"\n"> en la gestión de redes, es posible que un día se queme.
+Todos los sistemas usan el carácter virtual C<"\n"> para representar un terminador de línea, llamado un "nueva línea". No existe tal cosa como un invariable o físico, carácter de nueva línea. Es sólo una ilusión que el sistema operativo, controladores de dispositivo, bibliotecas de C, y Perl, conspiran para preservar. No todos los sistemas leen C<"\r"> como ASCII CR y C<"\n"> como ASCII LF. Por ejemplo, en los antiguos Mac (pre MacOS X) de antaño, estos solían estar invertidos, y en los sistemas sin terminador de línea, la impresión de un C<"\n"> podría no emitir ningún dato real. En general, utilice C<"\n"> cuando se refiera a una "nueva línea" para su sistema, pero use el literal ASCII cuando necesite un carácter exacto. Por ejemplo, la mayoría de protocolos de red esperan y prefieren un CR+LF (C<"\015\012"> o C<"\cM\cJ">) como terminadores de línea, y aunque a menudo aceptan sólo C<"\012">, rara vez tolerarán sólo un C<"\015">. Si se mete en el hábito de usar C<"\n"> en la gestión de redes, es posible que un día se queme.
X<newline> X<line terminator> X<eol> X<end of line>
X<\n> X<\r> X<\r\n> X<nueva línea> X<fin de línea> X<terminador de línea>
@@ -1997,7 +1997,7 @@ es equivalente al siguiente pseudo código Perl:
}
}
-excepto que no es tan complicado como hemos dicho, y funciona de forma efectiva.
+excepto que no es tan complicado como hemos dicho, y realmente funcionará.
Realmente, desplaza el array @ARGV y pone el nombre del archivo actual en la variable $ARGV. Internamente, también utiliza el identificador de archivo <ARGV>. <> es, justamente, un sinónimo de <ARGV>, lo cual es mágico. (El pseudo código anterior no funciona porque trata a <ARGV> como no-mágico).
Dado que el identificador de archivo nulo utiliza el formato de dos argumentos de L<perlfunc/open>, interpreta los caracteres especiales, así que si tiene un I<script> como este:
View
10 pod/translated/perlre.pod
@@ -364,7 +364,7 @@ X<\g> X<\k> X<\K> X<backreference> X<retrorreferencia>
que puede terminar con partes incorrectas de UTF-8. No soportado en
inspecciones hacia atrás.
\1 [5] Retrorreferencia a un grupo específico de captura o búfer.
- '1' puede ser cualquier entero positivo.
+ '1' puede ser realmente cualquier entero positivo.
\g1 [5] Retrorreferencia a un grupo específico o anterior,
\g{-1} [5] El número puede ser negativo, indicando la posición relativa de
un grupo anterior y puede, opcionalmente, estar rodeado por
@@ -432,11 +432,11 @@ X<expresión regular, aserción ancho cero>
de la anterior m//g)
Un límite de palabra (C<\b>) es un punto que hay entre dos caracteres que tienen un C<\w> a un lado y un C<\W> al otro lado de él (en cualquier orden), contando con los caracteres imaginarios del principio y final de la cadena coincidentes con un C<\W>. (Dentro de las clases carácter, C<\b> representa el retroceso (I<backspace>) en lugar del límite de palabra, tal como lo hace normalmente en cualquier cadena doblemente entrecomillada.)
-Los C<\A> y C<\Z> son como los "^" y "$", excepto que no coincidirán múltiples veces cuando se use el modificador C</m>, mientras que "^" y "$" coincidirán en cada límite de línea que contenga la cadena. Para coincidir con el final actual de la cadena, sin ignorar un posible carácter de fin de línea, use C<\z>.
+Los C<\A> y C<\Z> son como los "^" y "$", excepto que no coincidirán múltiples veces cuando se use el modificador C</m>, mientras que "^" y "$" coincidirán en cada límite de línea que contenga la cadena. Para coincidir con el final real de la cadena, sin ignorar un posible carácter de fin de línea, use C<\z>.
X<\b> X<\A> X<\Z> X<\z> X</m>
La aserción C<\G> puede ser usada para encadenar coincidencias globales (usando C<m//g>), como se describe en L<perlop/"Operadores Regexp Entrecomillados">.
-También es útil cuando se escriben escáneres C<lex>, cuando tiene varios patrones que desea hacer coincidir contra consiguientes subcadenas de su cadena; vea la referencia anterior. La ubicación actual donde C<\G> coincidirá también puede modificarse usando C<pos()> como un valor-izquierda: vea L<perlfunc/pos>. Tenga en cuanto que la norma para las coincidencias de tamaño cero (vea L</"Patrones repetidos coincidiendo con subcadenas de longitud cero">) ha sido modificada en cierta medida, en que los contenidos a la izquierda de C<\G> no son tenidos en cuenta cuando se determina la longitud de la coincidencia. Así, lo siguiente no coincidirá nunca:
+También es útil cuando se escriben escáneres C<lex>, cuando tiene varios patrones que desea hacer coincidir contra consiguientes subcadenas de su cadena; vea la referencia anterior. La ubicación real donde C<\G> coincidirá también puede modificarse usando C<pos()> como un valor-izquierda: vea L<perlfunc/pos>. Tenga en cuanto que la norma para las coincidencias de tamaño cero (vea L</"Patrones repetidos coincidiendo con subcadenas de longitud cero">) ha sido modificada en cierta medida, en que los contenidos a la izquierda de C<\G> no son tenidos en cuenta cuando se determina la longitud de la coincidencia. Así, lo siguiente no coincidirá nunca:
X<\G>
my $string = 'ABC';
@@ -1096,7 +1096,7 @@ X<(*PRUNE)> X<(*PRUNE:NOMBRE)>
Este patrón de ancho cero poda el árbol de vuelta atrás en el punto actual de cuando dio vuelta atrás a causa de un fallo. Considere el patrón C<A (*PRUNE) B>, donde A y B son patrones complejos. Hasta que el verbo C<(*PRUNE)> se alcance, A puede volver atrás tanto como sea necesario para que se produzca la coincidencia. Una vez que se alcanza, la coincidencia continúa en B, que también puede hacer una vuelta atrás cuando sea necesario; sin embargo, si no hubiera coincidencia con B, entonces ya no se llevará a cabo la vuelta atrás, y el patrón fallará de forma absoluta en la actual posición de inicio.
-El siguiente ejemplo cuenta todas las posibles cadenas coincidentes con un patrón (sin que se produzca una coincidencia con ninguna de ellas, por efecto del C<(*FAIL)>).
+El siguiente ejemplo cuenta todas las posibles cadenas coincidentes con un patrón (sin que se produzca realmente una coincidencia con ninguna de ellas, por efecto del C<(*FAIL)>).
'aaab' =~ /a+b?(?{print "$&\n"; $contador++})(*FAIL)/;
print "Contador=$contador\n";
@@ -1228,7 +1228,7 @@ X<(*ACCEPT)>
B<ADVERTENCIA:> Esta característica es muy experimental. No se recomienda para código en producción.
-Este patrón no coincide con nada y provoca el final de una coincidencia con éxito en el lugar en que el patrón C<(*ACCEPT)> se encontraba, sin importar si pudiera haber más coincidencias en la cadena. Cuando, dentro de un patrón anidado, tales como una recursión, o en un sub-patrón generado de forma dinámica a través de C<(??{})>, sólo el patrón más interno es terminado inmediatamente.
+Este patrón no coincide con nada y provoca el final de una coincidencia con éxito en el lugar en que el patrón C<(*ACCEPT)> se encontraba, sin importar si pudiera haber realmente más coincidencias en la cadena. Cuando, dentro de un patrón anidado, tales como una recursión, o en un sub-patrón generado de forma dinámica a través de C<(??{})>, sólo el patrón más interno es terminado inmediatamente.
Si el C<(*ACCEPT)> se encuentra dentro de grupos de captura entonces los grupos son marcados para terminar en el lugar en que se encontró el C<(*ACCEPT)>.
Por ejemplo:
View
10 pod/translated/perlrun.pod
@@ -130,7 +130,7 @@ No existe una solución general para todo esto. Es un completo enredo.
=head2 Emplazamiento de Perl
X<perl, emplazamiento del intérprete>
-Parce obvio decirlo, pero Perl solo es útil cuando los usuarios pueden encontrarlo fácilmente. Cuando sea posible, sería bueno que tanto F</usr/bin/perl> como F</usr/local/bin/perl> sean enlaces simbólicos al binario efectivo. Si eso no se puede hacer, se solicita a los administradores del sistema que pongan (enlaces simbólicos) a perl y sus utilerías asociadas en un directorio que esté normalmente en el PATH del usuario, o en algún otro obvio y conveniente lugar.
+Parce obvio decirlo, pero Perl solo es útil cuando los usuarios pueden encontrarlo fácilmente. Cuando sea posible, sería bueno que tanto F</usr/bin/perl> como F</usr/local/bin/perl> sean enlaces simbólicos al binario real. Si eso no se puede hacer, se solicita a los administradores del sistema que pongan (enlaces simbólicos) a perl y sus utilerías asociadas en un directorio que esté normalmente en el PATH del usuario, o en algún otro obvio y conveniente lugar.
En esta documentación, C<#!/usr/bin/perl> en la primera línea del programa aparecerá sin importar qué método funcione es su sistema. Se le aconseja que use una ruta específica si le interesa usar una versión específica.
@@ -326,7 +326,7 @@ Perl realmente inserta el siguiente código:
&& do "$Config{sitelib}/sitecustomize.pl";
}
-Debido a que es un C<do> (no un C<require>), F<sitecustomize.pl> no retorna un valor verdadero. El código se ejecuta en el paquete C<main>, en su propio ámbito léxico. Sin embargo, el el script muere, C<$@> no será actualizado.
+Debido a que es un C<do> real (no un C<require>), F<sitecustomize.pl> no retorna un valor verdadero. El código se ejecuta en el paquete C<main>, en su propio ámbito léxico. Sin embargo, el el script muere, C<$@> no será actualizado.
El valor de C<$Config{sitelib}> también está determinado en el código C, no leído desde C<Config.pm>, que no es cargado.
@@ -569,7 +569,7 @@ Esto acelera el inicio a costa de espacio en disco (que puede minimizar mediante
X<-U>
permite a Perl hacer operaciones inseguras. En la actualidad las únicas operaciones "no seguras" son las tratan de eliminar directorios mientras se ejecuta como superusuario y ejecutar programas setuid con comprobaciones fatales de contaminación convertidas en advertencias.
-Tenga en cuenta que las advertencias deben estar habilitadas con esta opción para I<generar> las advertencias de contaminación.
+Tenga en cuenta que las advertencias deben estar habilitadas con esta opción para I<generar> realmente las advertencias de contaminación.
=item B<-v>
X<-v>
@@ -696,7 +696,7 @@ Lo normal es empezar los nombres de capa con un carácter dos puntos (por ejempl
Un inexistente PerlIO, o vacío, es equivalente al conjunto predeterminado de capas para su plataforma; por ejemplo, C<:unix:perlio> en sistemas tipo Unix y C<:unix:crlf> en Windows y otros sistemas DOS.
-La lista se convierte en el valor predeterminado para I<toda> E/S de Perl. En consecuencia, sólo capas predefinidas en el código pueden aparecer en esta lista, ya que las capas externas (tales como C<encoding()>) necesitan E/S para poder ser leídas! Vea L<"open pragma"|open> para saber cómo añadir codificaciones externas por defecto.
+La lista se convierte en el valor predeterminado para I<toda> E/S de Perl. En consecuencia, sólo capas predefinidas en el código pueden aparecer en esta lista, ya que las capas externas (tales como C<encoding()>) ¡necesitan E/S para poder ser leídas! Vea L<"open pragma"|open> para saber cómo añadir codificaciones externas por defecto.
Capas que tiene sentido incluir en la variable de entorno PERLIO se resumen a continuación. Para más detalles, vea L<PerlIO>.
@@ -774,7 +774,7 @@ La variable de entorno PERLIO es completamente ignorada cuando Perl se ejecuta e
=item PERLIO_DEBUG
X<PERLIO_DEBUG>
-Si se establece al nombre de un archivo o dispositivo, ciertas operaciones del subsistema PerlIO serán registradas en ese archivo, que se abre en el modo añadir típico de Unix:
+Si se establece al nombre de un archivo o dispositivo, ciertas operaciones del subsistema PerlIO se registrarán en ese archivo, que se abre en el modo añadir. Usos típicos en Unix:
% env PERLIO_DEBUG=/dev/tty perl script ...
View
4 pod/translated/perlsyn.pod
@@ -44,7 +44,7 @@ Ahora se analiza como era de esperar, pero aún debe adquirir el hábito de uso
Las declaraciones de subrutinas pueden cargarse también con la instrucción C<require> o cargadas e importadas en su espacio de nombres con la instrucción C<use>.
Ver L<perlmod> para detalles sobre esto.
-Una secuencia de instrucciones pueden contener declaraciones de variables en ámbito léxico (privado), pero, aparte de declarar un nombre de variable, la declaración actúa como una instrucción normal y es elaborada dentro de la secuencia de instrucciones como si fuera una instrucción normal. Esto significa que tiene efectos tanto en tiempo de compilación como en tiempo de ejecución.
+Una secuencia de instrucciones pueden contener declaraciones de variables en ámbito léxico (privado), pero, aparte de declarar un nombre de variable, la declaración actúa como una instrucción normal y es elaborada dentro de la secuencia de instrucciones como si fuera una instrucción normal. Esto significa que realmente tiene efectos tanto en tiempo de compilación como en tiempo de ejecución.
=head2 Comentarios
X<comment> X<#> X<comentario>
@@ -486,7 +486,7 @@ X<triple-dot operator> X<operador puntos suspensivos>
A partir de Perl 5.12, Perl acepta los puntos suspensivos (elipsis), "C<...>", como un marcador de posición para el código que aún no ha implementado. Esta forma de elipsis, la instrucción no implementada, no debe confundirse con el operador binario flip-flop C<...>. El primero es una instrucción y el otro es un operador. (Perl no suele confundirlos, porque, por lo general, Perl puede decidir si espera un operador o una instrucción, pero vea a continuación las excepciones).
-Cuando Perl 5.12 o posterior encuentra una elipsis, lo analiza como si no tuviera errores, pero siempre y cuando lo trate de ejecutar, Perl produce una excepción con el texto C<Unimplemented> (No implementado):
+Cuando Perl 5.12 o posterior encuentra una elipsis, lo analiza como si no tuviera errores, pero siempre y cuando lo trate realmente de ejecutar, Perl produce una excepción con el texto C<Unimplemented> (No implementado):
use v5.12;
sub no_implementado { ... }
View
4 pod/translated/perlvar.pod
@@ -1080,7 +1080,7 @@ X<$^CHILD_ERROR_NATIVE>
El estado nativo devuelto por la última tubería cerrada, acento grave (C<``>) de comandos, llamada con éxito a C<wait()> o C<waitpid()>, o del operador C<system()>. En sistemas tipo POSIX este valor puede ser decodificado con las funciones WEXITSTATUS, WIFEXITED, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG, y WIFCONTINUED proporcionadas por el módulo L<POSIX>.
-Bajo VMS esto refleja el estado de salida VMS actual; es decir, es lo mismo que C<$?> cuando está en vigor el pragma C<use vmsish 'status'>.
+Bajo VMS esto refleja el estado real de la salida VMS; es decir, es lo mismo que C<$?> cuando está en vigor el pragma C<use vmsish 'status'>.
Esta variable se incorporó en Perl 5.8.9.
@@ -1198,7 +1198,7 @@ Dentro de una subrutina C<END> C<$?> contiene el valor que se le va a dar a C<ex
$? = 1 if $? == 255; # die lo tendría en 255
}
-Bajo VMS, el pragma C<use vmsish 'status'> hace que C<$?> refleje el estado actual de la salida VMS, en lugar de la emulación predeterminada del estado POSIX; vea L<perlvms/$?> para más detalles.
+Bajo VMS, el pragma C<use vmsish 'status'> hace que C<$?> refleje el estado real de la salida VMS, en lugar de la emulación predeterminada del estado POSIX; vea L<perlvms/$?> para más detalles.
Mnemónico: lo mismo que en B<sh> y B<ksh>.
Please sign in to comment.
Something went wrong with that request. Please try again.