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.



Home Pagina 11 di 15