Putting blanke linjer i et Perl-skript du oppretter er en enkel ting å gjøre. Det kan være at noe er galt med filen din , eller du bare trykke på Enter-tasten for mange ganger . Uansett hvordan det skjer , vil følgende skript fjerne disse tomme linjer ( selv om de inneholder skjulte tegn ) . Denne korte skript ikke bare fjerner tomme linjer , men sender ut et Perl -fil som er kompakt og klar til bruk . Instruksjoner
en
Bruk følgende skript på egen hånd eller legge det til som en del av et større manus . Skriv inn hver linje i følgende trinn etterfulgt av Enter
2
open FILE, " filnavn.typ " eller dø " $ \\ n "; .
Denne linjen kan åpnes filen som har de tomme linjene du ønsker å fjerne. The ' eller dø " $! \\ N" " kommandoen forteller manuset at hvis det er en feil å stoppe skriptet og skrive ut feilen.
3
åpne OUT , " tempfile . $ $ "eller dø " $ \\ n "; !
Denne linjen opprettes en midlertidig fil for å lagre resultatene
4
while ( ) {
. Denne linjen skaper starten av løkken som gjør alt arbeidet . Den "mens " kommandoen forteller systemet at så lenge det er en annen linje i filen koden i { og } trenger å bli henrettet .
5
neste hvis /^ \\ s * $ /;
Denne teksten sier å teste linjen at skriptet er for tiden å se på for å se om den bare inneholder white -space figurer som en fane eller et mellomrom. Den " /^ \\ s * $ /" er prøven. Hvis det er alt som denne linjen inneholder utføre deretter på " neste "-kommandoen som forteller skript for å gå tilbake til " while ( ) {" linje for å få den neste linjen i filen uten at noe blir skrevet til den midlertidige . fil
6 print OUT , $ _ ;}
Siden " neste "-kommandoen ble ikke utført , da linjen må ikke være tom. Så , sender denne linjen informasjonen til å skrive ut til den midlertidige filen . Den " }" er en del av beholderen for løkken som du opprettet ved hjelp av "mens ". Når skriptet møter det , vil skriptet gå tilbake til "mens "-kommandoen og prøve å få en annen linje for å bli testet . Hvis det ikke er flere linjer i filen, så sløyfen vil bli gått ut og scriptet vil gå til neste kommando
7
nær FIL ; . Lukke OUT ;
Etter det ikke er flere linjer som må sjekkes disse to kommandoene nære både den opprinnelige filen og den midlertidige filen som ble opprettet , noe som betyr at filene kan ikke lenger redigeres .
8
endre navn ( " filnavn . ext "," filename.bak ") eller dø " Feil i nytt navn : . $ \\ n ";
Denne linjen nytt navn til den opprinnelige filen til filename.bak slik at det kan holdes hvis det er nødvendig igjen
9
endre navn ( " . tempfile $ $" , " filnavn.typ ") eller dø " Feil i nytt navn : $! ";
Denne linjen gir den midlertidige filen du opprettet . til navnet på den opprinnelige filen , overskrives den opprinnelige filen med den nye filen
ferdig manus skal se slik ut : en
open fILE, " filnavn.typ " eller dø " $! \\ n "; åpne OUT , " tempfile $ $ "eller dø " $ \\ n "; . ! while ( ) { neste hvis /^ \\ s * $ /; skrive ut , $ _ ;} tett FIL ; lukk ut , endre navn ( " filnavn.typ ", " filename.bak ") eller dø " Feil i nytt navn : $ \\ n"; endre navn ( " . tempfile $ $" , " filnavn.typ ") eller dø " Feil i rename : $ ";