Gestione del File System
Scrittura di file
Per scrivere su file possiamo semplicemente usare la solita funzione print
, specificando come
primo argomento il flusso di destinazione dell'output. Ad esempio:
# Apertura file di output (vedi lezione precedente) open(my $output , ">" , "output.txt" ) or die "File non trovato: $!" ; open(my $append , ">>" , "append.txt" ) or die "File non trovato: $!" ; # Esempi di scrittura: eseguire più volte questo script per # evidenziare le differenza tra "output" e "append" print "\nEsempi di scrittura:\n\n" ; print "Messaggio su STDOUT (implicito)\n" ; print STDOUT "Messaggio su STDOUT (esplicito)\n" ; print STDERR "Messaggio su STDERR (esplicito)\n" ; print $output "Linea di testo (output)\n" for 1..5 ; print $append "Linea di testo (append)\n" for 1..5 ;
Nell'esempio qui sopra scriviamo su diverse destinazioni: STDOUT
, STDERR
, $output
e $append
. In particolare notiamo che la scrittura su STDOUT
è quella di default, che viene
assunta come implicita se non specifichiamo un'altra destinazione.
Il risultato dello script sarà qualcosa del genere:
Esempi di scrittura: Messaggio su STDOUT (implicito) Messaggio su STDOUT (esplicito) Messaggio su STDERR (esplicito)
Per evidenziare le differenze tra la scrittura sui file $output
e $append
possiamo
eseguire lo script più volte. Dopo ogni esecuzione il contenuto del file $output
rimane immutato,
perché il file viene sovrascritto ogni volta. Al contrario, dopo alcune esecuzioni dello script il contenuto del file
$append
aumenta in modo incrementale, perché i nuovi contenuti vengono "appesi" a quelli già esistenti.