Los manejadores de ficheros (filehandles) pueden ser usados sin declaración previa cuando se usan sin prefijo. En tal caso no se pueden asignar o pasar como parámetros, esto es, es ilegal hacer:
open(F,"fich1"); # Recomendado: open my $F, "fich1"; open(G,"fich2"); F = G;En los años A.R. (Antes de las Referencias) la alternativa era hacer una asignación de los typeglobs:
                  *F = *G
Lo mismo ocurrıa para el paso de ficheros como parámetros de una función. Vea el siguiente ejemplo:
lhp@nereida:~/Lperl/src$ cat -n fileparameter4.pl
 1  #!/usr/bin/perl
 2  use warnings;
 3  use strict;
 4
 5  sub welcome {
 6    local *FHANDLE = shift;
 7
 8    print FHANDLE "Welcome ...\n";
 9  }
10
11  open(FILE, ">test.txt");
12  welcome(*FILE);
13  close(FILE);
Casiano Rodríguez León
