1. Utilizzando la funzione `Open` e FileHandle:
`` `Perl
#!/usr/bin/perl
aprire (my $ fh, ">", "output.txt") o morire "non può aprire il file di output:$!";
Stampa $ fh "Questo è un po 'di output \ n";
Stampa $ fh "Questa è un'altra linea \ n";
chiudere ($ fh);
`` `
2. Utilizzando la funzione `System`:
`` `Perl
#!/usr/bin/perl
sistema ("perl script.pl> output.txt");
`` `
3. Usando i backticks (``):
`` `Perl
#!/usr/bin/perl
my $ output =`perl script.pl`;
aprire (my $ fh, ">", "output.txt") o morire "non può aprire il file di output:$!";
Stampa $ fh $ output;
chiudere ($ fh);
`` `
Spiegazione:
* `Open` Function: Questa funzione viene utilizzata per aprire un file per la scrittura (simbolo `>`) e lo associa a un filehandle (`$ fh` nell'esempio). È quindi possibile utilizzare `Stampa` per scrivere i dati sul filehandle.
* Funzione di sistema: Questa funzione esegue un comando di sistema, incluso il reindirizzamento. In questo caso, esegue lo script Perl e reindirizza il suo output su `output.txt`.
* Backticks (``): Questo cattura l'output di un comando all'interno di backtick in una variabile. È quindi possibile elaborare e scrivere l'output acquisito in un file.
Scegliere il metodo:
* `Open` Function: Più versatile per il controllo dell'output all'interno dello script.
* Funzione di sistema: Modo semplice per eseguire comandi e reindirizzare l'output, soprattutto se non è necessario elaborare l'output all'interno dello script.
* Backticks: Utile per catturare l'output di un comando per l'elaborazione successiva.
Note importanti:
* Il simbolo `>` reindirizza l'output standard (stdout) al file.
* Utilizzare `2>` per reindirizzare l'errore standard (Stderr).
* Utilizzare `>>` per aggiungere output a un file esistente.
* Se è necessario reindirizzare sia STDOUT che STDERR, è possibile utilizzare `&>` (ad esempio, `perl script.pl &> output.txt`).
Ricorda di gestire gli errori usando con grazia le funzioni `Die` o` Warn` per impedire alla sceneggiatura di arrestare inaspettatamente.
Programmazione © www.354353.com