Gary: uninitialized value / Perlbehandlung?

Beitrag lesen

Abend zusammen...

vorm schlafengehen noch ein sehr großes Problem:

Beim durchsehen des error.logs von apache konnte ich sehen, daß Perl wohl Skalarbrobleme hat.
-----------------------------------
In Perlscript oben steht:
my $anrede = CGI::param('anrede');
-----------------------------------
weiter unten steht:
$anrede =~ s/;//g;
-----------------------------------

Ich habe für Testzwecke folgendes gemacht:

Setze ich manuell oben: my $anrede = "Herr";
Ist unten alles gut mit: $anrede =~ s/;//g;

Lasse ich aber die "CGI::param('anrede');" und schicke aber von der HTML-Seite keinen Wert für "$anrede" via cgi mit, ergibt das im Serverlog diesen Fehler:
Use of uninitialized value $anrede in substitution (s///) at /xxx/xxx/cgi-bin/XXX.pl line 55.

Also wann immer ein Formular von der Webseite das Perlscript aufruft, und alle werte, die das Script erwartet (param) übertragen werden. Gibt es im Logfile vom Server keine Probleme. Fehlt ein Wert im Formular (also leer), ergibt dies einen Eintrag im Serverlog.

Habe um den Skalar "$anrede" zu überprüfen folgendes versucht:

if($anrede ne ""){
                 $anrede =~ s/;//g;
                 }

Quasi wenn der Inhalt von $Anrede nicht gleich "leer" ist -> dann soll er den Filter verwenden, sonst nicht.

Aber bereits nach dem if wird der Skalar "$Anrede" nicht akzeptiert, da uninitialized...

Wie bekomme ich das hin, cgi-parameter ( CGI::param('anrede'); ) auf Vorrat zu haben, auch wenn ich sie vielleicht gar nicht brauche?

Z.B. automatisch auf "X" setzen wäre eine ausgezeichnete Möglichkeit. Aber wie?

Gruß Gary