Du kan omdirigera utgången från ett Perl -skript till en fil med följande metoder i själva skriptet:
1. Använda funktionen "Öppna" och filhandle:
`` `perl
#!/usr/bin/perl
Öppna utdatafilen för att skriva
Öppna (min $ fh, ">", "output.txt") eller die "Kan inte öppna utgångsfil:$!";
Skriv ut utgången till filhandeln
Skriv ut $ fh "Detta är en del output \ n";
Skriv ut $ fh "Detta är en annan linje \ n";
Stäng filhandeln
Close ($ FH);
`` `
2. Använda funktionen `System ':
`` `perl
#!/usr/bin/perl
Utför Perl -skriptet och omdirigera utdata till en fil
System ("perl script.pl> output.txt");
`` `
3. Använda backticks (``):
`` `perl
#!/usr/bin/perl
Utför Perl -skriptet och fångar ut utgången till en variabel
min $ output =`perl script.pl`;
Skriv den fångade utdata till en fil
Öppna (min $ fh, ">", "output.txt") eller die "Kan inte öppna utgångsfil:$!";
Skriv ut $ fh $ -utgång;
Close ($ FH);
`` `
Förklaring:
* `öppna" -funktionen: Denna funktion används för att öppna en fil för att skriva (`>` symbol) och associerar den med en filhandle (`$ fh` i exemplet). Du kan sedan använda "skriva ut" för att skriva data till filhandeln.
* `System" -funktion: Denna funktion kör ett systemkommando, inklusive omdirigering. I det här fallet kör det Perl -skriptet och omdirigerar sin utgång till `output.txt`.
* Backticks (``): Detta fångar utgången från ett kommando inom backticks till en variabel. Du kan sedan bearbeta och skriva den fångade utdata till en fil.
Att välja metoden:
* `öppna" -funktionen: Mest mångsidig för att kontrollera utgången inom skriptet.
* `System" -funktion: Enkelt sätt att köra kommandon och omdirigera utdata, särskilt om du inte behöver bearbeta utgången i skriptet.
* Backticks: Användbart för att fånga utgången från ett kommando för senare bearbetning.
Viktiga anteckningar:
* Symbolen `>` omdirigerar standardutgången (STDOUT) till filen.
* Använd `2>` för att omdirigera standardfel (STDERR).
* Använd `>>` för att lägga till utdata till en befintlig fil.
* Om du behöver omdirigera både stdout och stderr kan du använda `&>` (t.ex. `perl script.pl &> output.txt`).
Kom ihåg att hantera fel graciöst med hjälp av funktioner "die" eller "varna" för att förhindra att ditt skript kraschar oväntat.