El ''hash''
%EXPORT_TAGS
es usado por módulos que proveen un gran número de funciones,
como es el caso de CGI
o POSIX
para crear grupos de alto nivel de símbolos relacionados. Por ejemplo:
%EXPORT_TAGS = ( Functions => [ qw(F1 F2 Op_Func) ], Variables => [ qw(@List %Table) ], );
Un símbolo de la lista de importación precedido de dos puntos indica una etiqueta:
use NuestroModulo qw(:Functions %Table);
Como se ha dicho, el módulo CGI.pm funciona con esta filosofía. Véase
el siguiente ejemplo que usa CGI en el que se carga el grupo
:standard:
$ cat -n cgitaste.pl
1 #!/usr/bin/perl -w
2 use CGI qw(:standard);
3
4 print header;
5 print start_html('Un ejemplo Sencillo'),
6 h1('Un ejemplo Sencillo'),
7 start_form,
8 "¿Tu nombre? ",textfield('nombre'),
9 p,
10 "¿Matriculado en?",
11 checkbox_group(-name=>'estudios',
12 -values=>['Sistemas','Gestión','Superior'],
13 -defaults=>['sistemas']),
14 p,
15 "¿Lenguaje favorito? ",
16 popup_menu(-name=>'len',
17 -values=>['C','C++','Pascal','Java','Lisp','Prolog','Python','Perl']),
18 p,
19 submit(-name=>"Enviar"),
20 end_form,
21 hr;
22
23 if (param()) {
24 print h1('Tus datos:'),
25 p,
26 "Nombre: ",em(param('nombre')),
27 p,
28 "Estudios: ",em(join(", ",param('estudios'))),
29 p,
30 "Lenguaje favorito: ",em(param('len')),
31 hr;
32 }
33 print end_html;
Puede ejecutar este ejemplo en
http://nereida.deioc.ull.es/lhp-cgi/cgitaste.pl.
Casiano Rodríguez León
