In den Modulen per CGI::param()
Klaro, Module schreibe ich auch um eigene Funktionen auszulagern, übergebe bei hashes und arrays nur refs, ansonsten Literale.
Mit CGI mache ich jedoch so, dass ich die Parameter übergebe, also nicht erst in den subs ermittele. Das hat den Vorteil, dass ein evntl. Wechsel zum OOP-Style nur an wenigen Stellen erfolgen muss (in der Kontrollstruktur, also von param() nach $cgi->param()).
Quick & Dirty ist folgender Hack:
my %in = map{$_, param($_)} param();
if(param()){
if($in{edit}){
print cgiHeader();
print htmlUp("Eintrag bearbeiten");
print linking();
buzzdir();
editRecord($in{edit});
print htmlDown();
}
# usw..
Razz Fix wird aus
my %in = map{$_, param($_)} param();
my %in = map{$_, $cgi->param($_)} $cgi->param();
und schnappt sich die Parameters/Values in den globalen hash %in.
roro