Mettere le righe vuote in uno script Perl che si sta creando è una cosa facile da fare. Può essere che qualcosa non va con il vostro file o semplicemente premere il tasto Invio troppe volte . Non importa come accade , il seguente script rimuoverà queste righe vuote (anche se contengono caratteri nascosti ) . Questo breve script rimuove non solo le righe vuote , ma produce un file Perl che è compatto e pronto per l'uso . Istruzioni
1
utilizzare il seguente script da solo o aggiungerlo come parte di uno script più grande. Digitare ogni riga nei seguenti passaggi seguiti dal tasto Invio
2
Apri file " filename.ext " or die " $ \\ n " ; .
Questa linea si apre il file che ha le righe vuote che si desidera rimuovere . Il ' o morire "$ ! \\ N" ' comando dice allo script che se vi è un errore di fermare lo script e stampare l'errore .
3
aprono , " tempfile . $ $ " or die" $ \\ n "; !
Questa linea crea un file temporaneo per memorizzare i risultati
4
while ( ) {
.
Questa riga crea l' inizio del ciclo che fa tutto il lavoro . Il comando " mentre" dice al sistema che
finchè c'è un'altra riga nel file il codice all'interno del { e } deve essere eseguito .
5
successivo if /^ \\ s * $ /;
Questo testo dice di testare la linea che lo script è attualmente esaminando per vedere se contiene solo spazi vuoti , come una scheda o uno spazio. Il " /^ \\ s * $ /" è la prova. Se questo è tutto ciò che questa linea contiene quindi eseguire il comando "Avanti ", che dice allo script di tornare al " while ( ) {" linea per ottenere la riga seguente nel file senza che niente sia scritto alla temporanea file.
6
stampare , $ _ ; }
Poiché il comando "Avanti " non è stato eseguito , quindi la linea non deve essere vuoto. Quindi , questa linea invia le informazioni da stampare nel file temporaneo . Il "} " fa parte del contenitore per il ciclo che si è creato con " mentre ". Quando lo script la incontra , lo script si torna al comando ", mentre" e cercare di ottenere un'altra linea da testare . Se non ci sono più righe nel file , allora il ciclo viene abbandonato e lo script andrà al comando successivo
7
vicino FILE ; . Chiudere ;
Dopo ci sono più linee che devono essere controllati questi due comandi chiudere sia il file originale e il file temporaneo che è stato creato , il che significa che i file possono essere più modificati.
8
rename ( "filename . ext " , " nomefile.bak ") or die " Errore nel rinominare : . $ \\ n ";
Questa linea rinomina il file originale per nomefile.bak in modo che possa essere mantenuto , se è necessario ancora una volta
Pagina 9
rename ( " . filetemp $ $ " , " nomefile.ext ") or die "Errore nel rinominare : $ ! " ;
Questa linea di rinominare il file temporaneo che si è creato . al nome del file originale , sovrascrivendo il file originale con il nuovo file
lo script completato dovrebbe essere simile a questo:
Apri file " filename.ext " or die " $ ! \\ n "; aprire OUT , " filetemp $ $ " or die" $ \\ n "; . ! while ( ) { next if /^ \\ s * $ /; stampare , $ _ ; } chiudere il file ; chiudere , rinominare ( " filename.ext " , " nomefile.bak ") or die "Errore nel rinominare : $ \\ n"; rename ( " . filetemp $ $ " , " nomefile.ext ") or die "Errore in Rinomina : $! " ;