guten Morgen,
Mittels [ ... ] übergebe ich den Wert der checkbox an ein Unterprogramm
Das machst du gut, da es dabei offenbar keine Probleme gibt. Wenn aber jemand seine Eingaben wieder wegschmeißt und nix abschicken will, willst du dafür
elsif ($query->param('action') eq 'delete') {
delete();
}
benutzen. Auch gut. Mit der Klammer wird lediglich verlangt, daß null oder mehr Argumente für "delete" gelten sollen.
Der Wert von $hash_ref->{'id'} soll übergeben werden, damit der/die jeweilige(n) Eintrag/Einträge im Unterprogramm aus der Datenbank gelöscht werden kann/können.
Jetzt hast du aber mit
sub delete {
[ ... ]
}
angewiesen, daß dein "delete" gar keine Argumente hat - hier fehlt ganz einfach die Klammer, die du eben selbst gefordert hattest. Folgerichtig hat PERL ein Problem:
Not enough arguments for delete
Das ändert nichts. $hash_ref->{'id'} scheint nicht übergeben zu werden, was ich an der zweiten Zeile der Fehlermeldung zu erkennen glaube?!
gruss, Andreas