Poner líneas en blanco en un script en Perl que está creando es una cosa fácil de hacer. Puede ser que algo está mal con el archivo o simplemente pulsa la tecla Enter demasiadas veces. No importa lo que suceda, el siguiente script eliminará las líneas en blanco ( incluso si contienen caracteres ocultos) . Este pequeño script no sólo elimina las líneas en blanco , pero genera un archivo Perl que es compacto y listo para su uso. Instrucciones
1
Utilice el siguiente script por sí solo o agregarlo como parte de un guión más grande. Escriba cada línea en los siguientes pasos seguidos por la tecla Intro
2
archivo abierto ", filename.ext " o morir "$ \\ n "; .
Esta línea se abre el archivo que tiene las líneas en blanco que desea eliminar . La " vida o muerte " $ ! \\ N " " comando le indica al guión que si hay un error al detener el script e imprimir el error.
3
abren , " archivo temporal . $ $ " or die " $ \\ n "; !
Esta línea crea un archivo temporal para almacenar los resultados
4
while ( ) {
. Esta línea crea el inicio del bucle que hace todo el trabajo. El comando "mientras " le dice al sistema que mientras hay otra línea en el archivo el código dentro de { y } necesita ser ejecutado.
5
siguiente si /^ \\ s * $ /;
Este texto dice para probar la línea de que el guión está estudiando para ver si sólo contiene caracteres de espacio en blanco , como una tabulación o un espacio. El " /^ \\ s * $ /" es la prueba. Si eso es todo lo que esta línea contiene a continuación, ejecute la "siguiente" comando que cuenta la secuencia de comandos para volver a la " while ( ) { " línea para obtener la siguiente línea en el archivo sin nada que se escriben en el temporal . archivo
6 Imprima , $ _ ;}
Desde el comando "siguiente" no se ha ejecutado , entonces la línea no debe estar vacío . Así , esta línea envía la información a imprimir en el archivo temporal . El "} " es parte del contenedor para el bucle que creó con " tiempo". Cuando la secuencia de comandos se encuentra con él, el guión volverá a la orden " , mientras que" y tratar de conseguir otra línea a probar. Si no hay más líneas en el archivo , a continuación, el bucle se puede salir y el guión irá al siguiente comando
7
Cerrar Archivo ; . Cerrar ;
Después hay hay más líneas que necesitan ser comprobados estos dos comandos cerrar tanto el archivo original y el archivo temporal que se creó , lo que significa que los archivos no se pueden editar.
8
rename ( "nombre de archivo . ext "," nombre.bak " ) or die " Error al cambiar el nombre de : . $ \\ n ";
Esta línea cambia el nombre del archivo original que nombre.bak por lo que se puede mantener si se necesita de nuevo
9
rename ( " . tempfile $ $", " filename.ext ") or die "Error al cambiar el nombre de : $ ";
Esta línea cambia el nombre del archivo temporal que ha creado . para el nombre de su archivo original y sobrescribe el archivo original con el nuevo archivo
el guión completo debería tener este aspecto :
archivo abierto ", filename.ext " o morir "$ ! \\ n "; se abren , " tempfile $ $ " or die " $ \\ n "; . ! while ( ) { a continuación si /^ \\ s * $ /; imprima , $ _ ;} cerrar el archivo ; cerrar ; rename ( " filename.ext ", " nombre.bak " ) or die "Error en el cambio de nombre : $ \\ n"; rename ( " . tempfile $ $", " filename.ext " ) or die "Error en cambio de nombre : $ " ;