Hola.
Supongamos que en el formulario creas por este orden una serie parámetros.
5 parámetros de diferentes tipos.
10 de tipo checkbox.
y 5 más, por ejemplo de tipo hidden.
Para el siguiente código tendrás que utilizar el módulo CGI.
- Código: Seleccionar todo
use CGI qw/:standard/;
Podrías meter todos los parámetros en un vector.
- Código: Seleccionar todo
@params=param;
Y luego hacer un bucle como este:
- Código: Seleccionar todo
for (my $i=4;$i<$#params-5;$i++)
{
if (param($params[$i]) eq "nombrecheckbox1") {código}
if (param($params[$i]) eq "nombrecheckbox2") {código}
......
}
En el bucle no pongo que $i<20 ya que sería un error, a pesar de que tu creas 20 parámetros.
El motivo es que el formulario nunca envia todos los checkbox.
Solamente envia aquellos que estan marcados.
Por lo tanto se variará la longitud del vector que se ha recibido en función del número de checkbox seleccionados.
Yo utilizo este método para generar consultas SQL.
De esta manera por ejemplo le pido al usuario que me diga
los campos que quiere obtener en el resultado de la consulta.
Nota: he puesto "nombrecheckbox1" ya que en estos casos le asigno a los checkbos el mismo "valor" al name y al value.
Espero que esto te aclare una posible forma de resolver tu problema.