$xNeTworKx: (PERL) Fehlermeldung im Errolog, aber wieso ?

Beitrag lesen

Hallo,
Ich weis nicht warum, aber ich bekomme dauernd im Errolog die Meldung :
Use of uninitialized value in concatenation (.) or string at /home/www/doc/1264/hauptroot/meinedomain.com/forum/mailingliste.cgi line 75.
Das ist leider nicht das erste Script, bei dem dauernd diese Meldung kommt, aber worna liegt das. Ich poste mal das Script : (line 75 ist übrigens die Zeile, die das 2.Mal print <<EOF; (vor </table>) beinhaltet.

#!/usr/bin/perl -w

use strict;
use CGI;
my $query = new CGI;
my $url = 'http://localhost/forum/';

if ($query->param('action'))  {
my $forumname = $query->param('name');
my $email = $query->param('email');
my $abfrage = $query->param('janein');
my $error = 0;
my $auswahl = '';
     valid($error,$forumname,$email,$abfrage,$auswahl);
     if (!$error)  {
     savemail($forumname,$email,$abfrage);
     main();
     }  else  {
     main($forumname,$email,$auswahl);
     }
}  else  {
my ($forumname,$email,$auswahl) = ('') x 3;
main($forumname,$email,$auswahl);
}

sub main  {
my ($forumname,$email,$auswahl) = @_;
my $in = '';
print $query->header;
print <<EOF;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
     <link rel="stylesheet" type="text/css" href="hauptdaten.css">
     <script src="hauptdatei.js" type="text/javascript">
     </script>
     <link rel="shortcut icon" href="favicon.ico">
      <title>---MEETINGPOINT---</title>
      </head>
   <body>
   <div id="nr1"></div>
   <div id="nr2"></div>
   <div style="position:absolute; top:64px; left:0px"><a href="mailingliste.cgi" onMouseOver="Bildwechsel(0,highlight2)" onMouseOut="Bildwechsel(0,normal2)"><img src="pics/maillistedark.gif" width="103" height="21" alt="Mailliste"></a></div>
   <div id="mainbar"></div>
   <div style="position:absolute; top:62px; left:107px"><a href="$url?action=showparty" onMouseOver="Bildwechsel(1,highlight3)" onMouseOut="Bildwechsel(1,normal3)"><img src="pics/partytermine.gif" width="80" height="26" alt="Partytermine"></a></div>
   <div style="position:absolute; top:62px; left:195px"><a href="$url?action=links" onMouseOver="Bildwechsel(2,highlight4)" onMouseOut="Bildwechsel(2,normal4)"><img src="pics/links.gif" width="68" height="26" alt="Links"></a></div>
   <div style="position:absolute; top:62px; left:267px"><a href="$url?action=faq" onMouseOver="Bildwechsel(3,highlight5)" onMouseOut="Bildwechsel(3,normal5)"><img src="pics/faq.gif" width="55" height="26" alt="FAQ"></a></div>
   <div style="position:absolute; top:62px; left:328px"><a href="$url" onMouseOver="Bildwechsel(4,highlight6)" onMouseOut="Bildwechsel(4,normal6)"><img src="pics/forumdark.gif" width="80" height="26" alt="Forum"></a></div>
   <div style="position:absolute; top:62px; left:418px"><a href="$url" onMouseOver="Bildwechsel(5,highlight7)" onMouseOut="Bildwechsel(5,normal7)"><img src="pics/zurueck.gif" width="92" height="26" alt="zurück"></a></div>
   <div style="position:absolute; top:95px; left:0px">
   <table style="border:0px; width:650px">
   <colgroup>
   <col width="350">
   <col width="300">
   </colgroup>
   <tr><td class="right">eingetragene Mitglieder</td><td class="left">Email Adressen</td></tr>
EOF
       if (-e 'maillist/mail.txt')  {
       open(FILE,'maillist/mail.txt') or die "Cant open mail-database : $!\n";
       local $/;
       $in = <FILE>;
       close FILE;
              while ($in =~ /<user>[name:(.+?)][email:(.+?)][abfrage:(.+?)]</user>/sg)  {
                     if ($3 eq 'ja')  {
      print "<tr><td class="orangeright"> $1 </td><td class="left"><a href="mailto:$2">$2</a></td></tr>\n";
      }  else  {
                     print "<tr><td class="orangeright"> $1 </td><td class="left"> Email Adresse verhüllt </td></tr>\n";
      }
              }
       }
print <<EOF;
   </table>
   <p>
      <form method="post" name="mailformular" action="" onSubmit="return chkmailform();">
      <table style="border:0px; width:700px">
      <colgroup>
      <col width="40%">
      <col width="60%">
      </colgroup>
      <tr><td class="right">Wie lautet dein Name im Forum ? </td><td><input class="party" type="text" name="name" value="$forumname" maxlength="150"></td></tr>
      <tr><td class="right">Wie lautet deine Email Adresse? </td><td><input class="party" type="text" name="email" value="$email" maxlength="100"></td></tr>
      <tr><td colspan="2" class="orangeright"> $auswahl </td></tr>
      <tr><td class="right">Soll die Email Adresse in der Liste angezeigt werden ?</td><td><input type="radio" name="janein" value="ja"> ja <input type="radio" name="janein" value="nein"> nein </td></tr>
      <tr><td>   </td><td><input type="submit" class="linkbutton" name="action" value="hinzufügen"></td></tr>
      </table>
   </form>
   </div>
   </body>
   </html>
EOF
}

sub savemail  {
my ($forumname,$email,$abfrage) = @_;
open(FILE,">>maillist/mail.txt") or die "Cant save data : $!\n";
flock FILE, 2;
print FILE "<user>[name:$forumname][email:$email][abfrage:$abfrage]</user>\n";
close FILE;
}

sub valid  {
my ($error,$forumname,$email,$abfrage,$auswahl) = @_;
     if (($$forumname eq '') || ($$forumname eq 'Es wurde kein Name eingetragen'))  { $$error = 1; $$forumname = 'Es wurde kein Name eingetragen'; }
     if (($$email !~ /.+?@.+?..{2,4}/) && ($$email ne ''))  {
     $$error = 1; $$email = 'Diese Email Adresse ist ungültig';
     }
     if ($$email eq '')  {
     $$error = 1; $$email = 'Es wurde keine Email Adresse eingetragen';
     }
     if ($$abfrage eq '')  { $$error = 1; $$auswahl = 'Es wurde nicht angegeben, ob die Email Adresse in der Liste angezeigt werden soll';  }
}

$xNeTworKx.