my @arr; my $loop_status; my $loop_name; MAINLOOP: foreach $line (@lines) { ($name, $value) = split(/=/, $line); chomp($name); chomp($value); if ($name eq "loop" and $value eq "start") { $loop_status = "start"; next MAINLOOP; } if ($name eq "loop_name") { $loop_name = $value; next MAINLOOP; } if ($name eq "loop" and $value eq "stop") { $loop_status = "stop"; $template->param(eval "$loop_name" => \@arr); next MAINLOOP; } if ($loop_status eq "start") { if ($name eq "row" and $value eq "start") { $cnt++; push(@arr,{}); next MAINLOOP; } $arr[$cnt]{eval "$name"} = $value; } else { $template->param($name, $value); } } print "Content-type: text/html\n\n"; print $template->output;