) { " lijn naar de volgende regel in het bestand te krijgen zonder dat er iets geschreven om de tijdelijke vertelt . bestand
druk 6 OUT , $ _ ; }
Sinds de " volgende" commando werd niet uitgevoerd , dan is de lijn mag niet leeg zijn . Dus , deze regel stuurt de gegevens af te drukken naar het tijdelijke bestand . De " } " is deel van de houder voor de lus die u gemaakt met "terwijl . ' Wanneer het script tegenkomt , zal het script terug te gaan naar de " terwijl" commando en probeer een andere lijn te testen krijgen . Als er niet meer regels in het bestand , dan is de lus wordt verlaten en het script zal gaan naar de volgende opdracht
dicht Bestand 7 ; . Sluiten OUT ;
Nadat er zijn geen lijnen meer die moeten worden gecontroleerd deze twee commando's dicht zowel het originele bestand en het tijdelijke bestand dat is gemaakt , wat betekent dat de bestanden niet meer kunnen worden bewerkt .
rename 8 ( "bestandsnaam . ext " , " filename.bak " ) or die " Fout bij hernoemen : . $ \\ n " ;
Deze lijn hernoemt het originele bestand te filename.bak zodat het kan worden bewaard als het weer nodig is < br >
rename ( " . tempfile $ $ " , " filename.ext " ) of 9 sterven " Fout bij hernoemen : $ ! " ;
Deze lijn hernoemt het tijdelijke bestand dat u hebt gemaakt . om de naam van het oorspronkelijke bestand , het overschrijven van het oorspronkelijke bestand met de nieuwe file
het voltooide script moet er zo uitzien :
geopend fILE
, " filename.ext " of sterven ' $ ! \\ n " ; openen OUT , " tempfile $ $ "of sterven " $ \\ n " ; . ! terwijl ( ) { volgende als /^ \\ s * $ /; uitprinten , $ _ ; } Bestand sluiten ; sluit OUT ; rename ( " bestandsnaam.ext " , " filename.bak " ) or die " Fout in hernoemen : $ \\ n"; rename ( " . tempfile $ $ " , " filename.ext " ) or die " Fout in rename : $! " ;