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