-+  Associazione
-+  Documenti
 |-  Modern Perl
 |-  Bibliografia
 |-  Articoli
 |-  Talk
 |-  Perlfunc
 |-  F.A.Q.
 |-  F.A.Q. iclp
-+  Eventi
-+  Community
-+  Blog
-+  Link
Corso di Perl



 


indietro

[8] Come posso rendere un filehandle locale ad una subroutine? Come faccio a passare filehandle tra subroutine? Come faccio a creare un array di filehandle? filehandle, locale filehandle, passare filehandle, riferimento

Con la versione 5.6 di perl, open() crea automaticamente handle per file e directory sotto forma di riferimenti se gli viene passata una variabile scalare non inizializzata. Potete poi passare tali riferimenti come qualunque altro scalare, e usarli al posto degli handle dotati di nome.

	open my    $fh, $nome_file;
	open local $fh, $nome_file;
	print $fh "Salve Mondo!\n";
	processa_file( $fh );

Prima della versione 5.6, dovevate avere a che fare con vari idiomi che usavano i typeglob e che potete vedere nel codice meno recente.

	open FILE, "> $nomefile";
	processa_typeglob(   *FILE );
	processa_riferimento( \*FILE );
	sub processa_typeglob    { local *FH = shift; print FH  "Typeglob!" }
	sub processa_riferimento { local $fh = shift; print $fh "Riferimento!" }

Se volete creare molti handle anonimi, dovreste controllare i moduli Symbol e IO::Handle.

vedi in inglese

AUTORE E COPYRIGHT

Copyright (c) 1997, 1998, 1999, 2000, 2001 Tom Christiansen e Nathan Torkington. Tutti i diritti riservati.

Questa documentazione è libera; puoi ridistribuirla e/o modificarla secondo gli stessi termini applicati al Perl.

Indipendentemente dalle modalitè di distribuzione, tutti gli esempi di codice in questo file sono rilasciati al pubblico dominio. Potete, e siete incoraggiati a farlo, utilizzare il presente codice o qualunque forma derivata da esso nei vostri programmi per divertimento o per profitto. Un semplice commento nel codice che dia riconoscimento alle FAQ sarebbe cortese ma non è obbligatorio.

D:
Progetti e documenti in rilievo
Corso di Perl Progetto pod2it
D:
La ML di Perl.it
mongers@perl.it è la lista ufficiale di Perl Mongers Italia per porre quesiti di tipo tecnico, per rimanere aggiornato su meeting, incontri, manifestazioni e novità su Perl.it.
Iscriviti!
D:
Annunci Google