El formato de la llamada a la componente modificada podría ser como en el siguiente ejemplo:
pp2@nereida:~/src/perl/tt$ cat -n fillform.pl
1 #!/usr/local/bin/perl
2 use warnings;
3 use strict;
4 use Template;
5 use CGI qw{:all};
6
7 # Templates
8 my $result_tt = 'results.html'; # For results
9 my $form_tt = 'form'; # For the form
10 my $wrapper = 'page'; # General wrapper
11
12
13 my $form_val = {
14 title => 'Traceroute',
15 head => 'Traceroute',
16 action => $0,
17 questions => [
18 { question => 'Nombre: ', name => 'nombre' },
19 { question => 'Apellidos: ', name => 'apellidos' }
20 ],
21 submit => 'enviar',
22 };
23 show_form($form_tt, $form_val);
24
25 exit 0;
26
27 sub show_form {
28 my ($form_tt, $vars) = @_;
29
30 my $template = Template->new( WRAPPER => $wrapper );
31 print header(-charset => 'utf-8' );
32 $template->process($form_tt, $vars);
33 }
perldoc CGI). Ejecute el guión con el depurador.
CGI.
$F usado para la comunicación entre el hijo y el
nieto está autoflush.
new_session, reflexione si se puede sustituir la
creación del nieto y la ejecución de la aplicación:
exec "timed-process", $seconds, "/usr/sbin/traceroute", $host
por un simple pipe de la forma:
open my $F, "timed-process $seconds/usr/sbin/traceroute $host |"
Casiano Rodríguez León
