perl - mostrar - ¿cuáles son las etiquetas en wp?
Sobre la read :
-
readadmite capas PerlIO. -
readfunciona con cualquier identificador de archivo Perl [1] . -
readbuffers. -
readobtiene datos del sistema en bloques de tamaño fijo de 8 KiB [2] . -
readpuede bloquear si hay disponibles menos datos de los solicitados [3] .
Acerca de sysread :
-
sysreadno es compatible con las capas PerlIO (lo que significa que requiere un asa binaria sin procesar). -
sysreadsolo funciona con los identificadores de archivos Perl que se asignan a un identificador / manejador de archivos del sistema [4] . -
sysreadno almacena en búfer. -
sysreadrealiza una sola llamada al sistema. -
sysreadregresa inmediatamente si los datos están disponibles para ser devueltos, incluso si la cantidad de datos es menor que la cantidad solicitada.
Resumen y conclusiones:
-
readfunciona con cualquier identificador de archivo Perl, mientras quesysreadestá limitado a los identificadores de archivo Perl asignados a un manejador / descriptor de archivo del sistema. -
readno es compatible conselect[5] , mientras quesysreades compatible conselect. -
readpuede realizar decodificación por ti, mientras quesysreadrequiere que hagas tu propia decodificación. -
readdebe ser más rápido para lecturas muy pequeñas, mientras quesysreaddebe ser más rápido para lecturas más grandes.
Notas:
Estos incluyen, por ejemplo, identificadores de archivos atados y aquellos creados con
open(my $fh, ''<'', /$var).Antes del 5.14, Perl leyó en 4 bloques KiB. Desde 5.14, el tamaño de los bloques es configurable cuando construyes
perl, con un valor predeterminado de 8 KiB.En mi experiencia,
readdevolverá exactamente la cantidad solicitada (si es posible) al leer de un archivo simple, pero puede devolver menos al leer desde un conducto. Estos resultados no están de ninguna manera garantizados.filenodevuelve un número no negativo para estos. Estos incluyen, por ejemplo, identificadores que se leen desde archivos sin formato, desde tuberías y zócalos, pero no los que se mencionan en [1].Me refiero al uno de cuatro argumentos llamado por IO :: Select .