sätta tomma rader i ett Perl-skript som du skapar är en lätt sak att göra . Det kan bero på att något är fel med din fil eller du helt enkelt trycker på Enter för många gånger . Oavsett hur det händer , kommer följande skript bort dessa tomma rader ( även om de innehåller dolda tecken ) . Detta kort manus inte bara tar bort tomma rader , men matar ett Perl -fil som är kompakt och klar för användning . Instruktioner
1
Använd följande skript på egen hand eller lägga den som en del av ett större manus . Skriv in varje rad i följande steg följt av Enter
2
open FILE , " filnamn.ext " or die " $ \\ n "; .
Denna linje öppnas filen som har tomma rader du vill ta bort . Den " eller dö " $ ! \\ N " " kommandot berättar skript som om det finns ett fel att stoppa skriptet och skriva ut felet . Addera 3
öppet ut , " cacheminnet . $ $ " eller die " $ \\ n "; !
Denna rad skapar en temporär fil för att lagra resultaten
4
samtidigt ( ) {
. Denna linje skapar början av slingan , som gör allt arbete . Den " medan " kommandot talar om för systemet att så länge det finns en annan rad i filen koden inom { och } behöver verkställas .
5
nästa om /^ \\ s * $ /;
Denna text säger att testa den linje som skriptet för närvarande tittar på att se om det bara innehåller blanktecken , t.ex. en flik eller ett utrymme . Den " /^ \\ s * $ /" är testet . Om det är allt som denna linje innehåller då utföra " nästa " kommando som talar om för skriptet att gå tillbaka till " medan ( ) { " linje för att få nästa rad i filen utan att någonting skrivs till den tillfälliga . filen
6 skriva ut , $ _ ; }
Eftersom " next " -kommandot inte utfördes , då linjen inte vara tomt . Så sänder denna linje den information du vill skriva ut till den temporära filen . Den " } " är en del av behållaren för slingan som du skapade med " samtidigt . " När skriptet stöter det kommer skriptet att gå tillbaka till " medan " kommandot och försöka få en annan linje som ska testas . Om det inte finns fler rader i filen , då slingan kommer att avslutas och manuset kommer att gå till nästa kommando
7
nära FILE , . Stänga ute ,
Efter det finns inga fler rader som måste kontrolleras dessa två kommandon nära både den ursprungliga filen och den temporära filen som skapades , vilket innebär att filerna kan inte längre redigeras .
8
rename ( " filnamn . ext " , " filename.bak " ) or die " Fel i rename : ! . $ \\ n ";
Denna linje döper den ursprungliga filen filename.bak så det kan hållas om det behövs igen
9
rename ( " . cacheminnet $ $ " , " filnamn.ext " ) or die " Fel i rename : $ ! " ,
Denna linje döper den temporära filen som du skapade . namnet på den ursprungliga filen , skriva över den ursprungliga filen med den nya filen
avslutade skriptet ska se ut så här :
open fILE , " filnamn.ext " or die " $ ! \\ n "; öppet ut , " cacheminnet $ $ " eller die " $ \\ n "; . ! while ( ) { nästa om /^ \\ s * $ /, skriva ut , $ _ ; } close FILE ; stänga ute , rename ( " filnamn.ext " , " filename.bak " ) or die " Fel i rename : $ \\ n "; rename ( " . cacheminnet $ $ " , " filnamn.ext " ) or die " Fel i rename : $ " , Addera