Hi all,
I am new to Perl AND HTML so I am struggling with some things here that are probably basic to you.
First I have a small program working where I can pass data to a HTML form successfully, where I am having problems is with returning data.
For some reason I cannot store global data in my Perl program (is this because it runs anew each time the HTML page returns to the Perl code?) so I have to pass data to the HTML page then return it later. Half the time the data is not returned even though I am sure I am using the correct syntax.
To save writing a separate <TMPL_VAR Name = "name"> for each bit of data I wish to pass through can I use a hash or reference to a hash here. If I can use a reference will the data be there when the Perl code runs?
TIA
Mick H
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There are at least two ways to skin this cat. Two that come immediately to mind are:
1. You can use a series of hidden form variables inside a TMPL_LOOP structure like:
<TMPL_LOOP name="loop">
<input type=hidden name="<TMPL_VAR name="parm_name">" value="<TMPL_VAR name="parm_value">" >
</TMPL_LOOP>
and in the code:
my @parm_list = ();
while (save_parms){
my %parm_item = ();
$parm_item{parm_name} = "name of parameter";
$parm_item{parm_value} = "paramter value";
push @parm_list, \%parm_item;
}
$template->param(loop=>\@parm_list);
2. Use the CGI::Session package for serializing state information between executions of your script.
Good Luck.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi all,
I am new to Perl AND HTML so I am struggling with some things here that are probably basic to you.
First I have a small program working where I can pass data to a HTML form successfully, where I am having problems is with returning data.
For some reason I cannot store global data in my Perl program (is this because it runs anew each time the HTML page returns to the Perl code?) so I have to pass data to the HTML page then return it later. Half the time the data is not returned even though I am sure I am using the correct syntax.
To save writing a separate <TMPL_VAR Name = "name"> for each bit of data I wish to pass through can I use a hash or reference to a hash here. If I can use a reference will the data be there when the Perl code runs?
TIA
Mick H
There are at least two ways to skin this cat. Two that come immediately to mind are:
1. You can use a series of hidden form variables inside a TMPL_LOOP structure like:
<TMPL_LOOP name="loop">
<input type=hidden name="<TMPL_VAR name="parm_name">" value="<TMPL_VAR name="parm_value">" >
</TMPL_LOOP>
and in the code:
my @parm_list = ();
while (save_parms){
my %parm_item = ();
$parm_item{parm_name} = "name of parameter";
$parm_item{parm_value} = "paramter value";
push @parm_list, \%parm_item;
}
$template->param(loop=>\@parm_list);
2. Use the CGI::Session package for serializing state information between executions of your script.
Good Luck.