Perl is een ideale taal voor het werken met bestanden. Het heeft de basiscapaciteit van elk shell-script en geavanceerde tools, zoals reguliere expressies, die het nuttig maken. Om mee te werken Perl bestanden, moet u eerst leren lezen en ernaar schrijven. Het lezen van een bestand doe je in Perl door een filehandle te openen voor een specifieke bron.
Een bestand lezen in Perl
Om met het voorbeeld in dit artikel te kunnen werken, heb je een bestand nodig om het Perl-script te kunnen lezen. Maak een nieuw tekstdocument met de naam data.txt en plaats het in dezelfde map als de Perl programma hieronder.
Typ in het bestand zelf een paar namen - één per regel:
Wanneer u het script uitvoert, moet de uitvoer hetzelfde zijn als het bestand zelf. Het script opent eenvoudig het opgegeven bestand en doorloopt het regel voor regel, waarbij elke regel wordt afgedrukt.
Maak vervolgens een bestandshandle met de naam MYFILE, open deze en wijs deze naar het data.txt-bestand.
Gebruik vervolgens een eenvoudige while-lus om automatisch elke regel van het gegevensbestand één voor één te lezen. Dit plaatst de waarde van elke regel in de tijdelijke variabele $ _ voor één lus.
Gebruik binnen de lus de chomp-functie om de nieuwe regels aan het einde van elke regel te wissen en druk vervolgens de waarde van $ _ af om aan te geven dat deze is gelezen.
Sluit ten slotte de bestandsbeugel om het programma af te sluiten.
Schrijven naar een bestand in Perl
Neem hetzelfde gegevensbestand waarmee je een tijdje hebt gewerkt leren lezen van een bestand in Perl. Deze keer schrijf je ernaar. Om in Perl naar een bestand te schrijven, moet u een bestandshandle openen en deze naar het bestand dat u schrijft richten. Als u Unix, Linux of een Mac gebruikt, moet u mogelijk ook uw bestandsmachtigingen controleren om te zien of uw Perl-script naar het gegevensbestand mag schrijven.
Als u dit programma uitvoert en vervolgens het programma uitvoert vanuit de vorige sectie over het lezen van een bestand in Perl, zult u zien dat het nog een naam aan de lijst heeft toegevoegd.
Sterker nog, elke keer dat je het programma uitvoert, voegt het een andere "Bob" toe aan het einde van het bestand. Dit gebeurt omdat het bestand is geopend in de append-modus. Om een bestand in append-modus te openen, prefix de bestandsnaam met de >> symbool. Dit vertelt de open functie die u naar het bestand wilt schrijven door meer aan het einde ervan te plakken.
Als u in plaats daarvan het bestaande bestand wilt overschrijven met een nieuw, gebruikt u de > één groter dan symbool om de open functie te laten weten dat u elke keer een nieuw bestand wilt. Vervang de >> door een> en je ziet dat het data.txt-bestand wordt teruggebracht tot één naam - Bob - elke keer dat je het programma uitvoert.
Gebruik vervolgens de afdrukfunctie om de nieuwe naam naar het bestand af te drukken. U print naar een filehandle door de print-instructie met de filehandle te volgen.
Sluit ten slotte de bestandsbeugel om het programma af te sluiten.