Io :: insitu

IO :: Insitu es un módulo PERL para evitar que se abren los archivos de clavos para la entrada y la salida.
Descargar ahora

Io :: insitu Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Damian Conway
  • Sitio web del editor:
  • http://search.cpan.org/~dconway/

Io :: insitu Etiquetas


Io :: insitu Descripción

IO :: Insitu es un módulo PERL para evitar que se abren los archivos de clavos para la entrada y la salida. Io :: Insitu es un módulo PERL para evitar que se abren los archivos de clavos para la entrada y la salida.Synopsis. Uso IO :: Insitu; mi ($ en, $ fuera) = Open_RW ($ Infile_Name, $ OutFile_Name); para mi línea $ () {$ line = ~ S / Foo / Bar / G; Imprimir {$ OUT} $ línea; } Cuando los usuarios quieren hacer un procesamiento in situ en un archivo, a menudo lo especifican como el archivo de entrada y salida:> MyApp -i Sample_Data -O Sample_Data -OP = NormalizePhut, si las banderas -i y -O se procesan de forma independiente , el programa generalmente abrirá el archivo para la entrada, abrirlo nuevamente para la salida (en qué punto el archivo se truncará a cero longitud), y luego intentar leer en la primera línea del archivo ahora vacío: # Abrir ambos archivos de archivos ... use qw fatal (abierto); Abra mi $ SRC, '', $ Destination_File; # Lectura, proceso y datos de salida, línea por línea ... mientras (MIS $ LINE = <$ src>) {Imprimir {$ DALT} Transformado (línea de línea); } No solo esto no realiza la transformación solicitada en el archivo, sino que también destruye los datos originales. Afortunadamente, este problema es extremadamente fácil de evitar: solo asegúrese de desvincular el archivo de salida antes de abrirlo: # Abra ambos archivos FileHandles ... use qw fatal (abierto); Abra mi $ SRC, '', $ Destination_File; # Lectura, proceso y datos de salida, línea por línea ... mientras (MIS $ LINE =) {impresión {$ DEST} Transforme ($ línea); } Si los archivos de entrada y salida son diferentes, el desvinculamiento del archivo de salida simplemente elimina un archivo que estaba a punto de ser reescrito de todos modos. Luego, la segunda Abra simplemente recrea el archivo de salida, listo para escribir. Si los dos nombres de archivo realmente se refieren a un solo archivo in situ, desvincular el nombre de archivo de salida Elimina ese nombre de archivo de su directorio, pero no elimina el archivo en sí mismo del sistema de archivos . El archivo ya está abierto a través de FileHandle en $ ENTRADA, por lo que el sistema de archivos preservará el archivo nolindado hasta que se cierre el archivo de entrada de entrada. La segunda abierta, luego crea una nueva versión del archivo in situ, listo para escribir. La única limitación de esta técnica es que cambia la inoda de cualquier archivo in situ. Eso puede ser un problema si el archivo tiene algún alias relacionado con fuerza, o si otras aplicaciones están identificando el archivo por su número de inodo. Si cualquiera de esas situaciones es posible, puede preservar el inodo del archivo in situ utilizando la subrutina Open_RW () que se exporta desde este módulo: # Abra ambos archivos ... use IO :: Insitu; mi ($ src, $ dest) = open_rw ($ source_file, $ destino_file); # Lectura, proceso y datos de salida, línea por línea ... mientras (MIS $ LINE =) {impresión {$ DEST} Transforme ($ línea); } Requisitos: · Perl


Io :: insitu Software relacionado

qmederslib

proporciona un widget QT altamente personalizable para crear widgets de esfera analógica complejos. ...

159

Descargar

Archivo :: Siguiente :: OO

Archivo :: Siguiente :: OO es un módulo PERL con envoltorio de iTerator de búsqueda de archivos para Archivo :: Siguiente :: Función de archivos. ...

223

Descargar