Hey,
Siechfried hat eine technische Erklärung abgegeben, aber die trifft nicht den Kern. Statt Variablen global zu deklarieren (deine, wie du sagst, teilweise Lösung), schreibe alle Subroutinen so um, dass sie mit Parameterübergabe und lexikalischen Variablen arbeiten.
sub advsearchstart {
my $cgiobj = shift; # ersten Parameter aus @_ holen
my $link = shift; # zweiten
## Ueberschrift
print $cgiobj->h1("Erweiterte Suche");
print $cgiobj->start_form( -method=>'POST',
-action=>$link),
[...]
};
Aufruf der Sub dementsprechend:
advsearchstart($cgi, $LINK);
Eine erschöpfende Abhandlung zum ursprünglichen Problem findet sich im Handbuch.
http://perl.apache.org/docs/1.0/guide/porting.html#The_First_Mystery
http://perl.apache.org/docs/general/perl_reference/perl_reference.html#The_Diagnosis
--
水-金-地-火-木-土-天-海-冥
水-金-地-火-木-土-天-海-冥