U kunt de uitvoer van een PERL -script omleiden naar een bestand met behulp van de volgende methoden binnen het script zelf:
1. De functie `open` gebruiken en filehandle:
`` `perl
#!/usr/bin/perl
Open het uitvoerbestand voor schrijven
open (mijn $ fh, ">", "output.txt") of die "kan het uitvoerbestand niet openen:$!";
Afdrukuitvoer naar de bestandshandle
print $ fh "Dit is een uitvoer \ n";
print $ fh "Dit is een andere lijn \ n";
Sluit de bestandshandle
close ($ fh);
`` `
2. De functie `System` gebruiken:
`` `perl
#!/usr/bin/perl
Voer het PERL -script uit en leid de uitvoer om naar een bestand
System ("perl script.pl> output.txt");
`` `
3. Backticks gebruiken (``):
`` `perl
#!/usr/bin/perl
Voer het PERL -script uit en leg de uitvoer vast in een variabele
mijn $ output =`perl script.pl`;
Schrijf de vastgelegde uitvoer naar een bestand
open (mijn $ fh, ">", "output.txt") of die "kan het uitvoerbestand niet openen:$!";
print $ fh $ output;
close ($ fh);
`` `
Verklaring:
* `open` functie: Deze functie wordt gebruikt om een bestand te openen voor schrijven (`>` symbool) en associeert het met een bestandshandle (`$ fh 'in het voorbeeld). U kunt vervolgens `print 'gebruiken om gegevens naar de bestandshandle te schrijven.
* `System` Functie: Deze functie voert een systeemopdracht uit, inclusief omleiding. In dit geval wordt het PERL -script uitgevoerd en wordt het zijn uitvoer omgeleid naar `output.txt`.
* achterticks (``): Dit vangt de uitvoer van een opdracht in backticks in een variabele. U kunt vervolgens de vastgelegde uitvoer naar een bestand verwerken en schrijven.
De methode kiezen:
* `open` functie: Het meest veelzijdig voor het regelen van uitvoer in het script.
* `System` Functie: Eenvoudige manier om opdrachten uit te voeren en de uitvoer om te leiden, vooral als u de uitvoer in het script niet hoeft te verwerken.
* Backticks: Handig voor het vastleggen van de uitvoer van een opdracht voor latere verwerking.
belangrijke opmerkingen:
* Het `>` symbool leidt de standaarduitvoer (stdout) door naar het bestand.
* Gebruik `2>` om de standaardfout om te leiden (stderr).
* Gebruik `>>` om uitvoer aan een bestaand bestand toe te voegen.
* Als u zowel stdout als stderr moet omleiden, kunt u `&>` (bijv. `Perl script.pl &> output.txt`) gebruiken.
Vergeet niet om fouten om te gaan sierlijk met behulp van `die` of` Warn` -functies om te voorkomen dat uw script onverwachts crasht. |