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
