Frank S.: Perl: Sub wird trotz If-Befehl nicht aufgerufen?

Beitrag lesen

Hi Dieter!

Füge doch mal ein print $form{'action'} ein und sieh Dir an, was da drin steht, wenns nicht genau das ist, nach dem Du fragst, gehts nicht.

Tipp: Ich habe immer eine Funktion in meinen CGI's, die bei Bedarf die Übergabeparameter der Funktion in ein Logfile schreibt. Mit der Variablen $local_test steuere ich Sachen, die beim "offline"-Test anders sind als online.

z.B.

<schnip>
$debugpath = "/pfad/zu/deinem/verzeichnis/debug.txt";
$local_test = 1;

wenn lokaler Test -> andere Pfade u.s.w.

if ($local_test eq '1') {
   $debugpath = "debug.txt";
   $use_log = 1;
   $logdate = "01/09/99 - 10:00";
   $actdate = "01/09/99"
} else {
   # Datum vom Server holen
   $actdate = $getdate +"%D";
   chop($actdate);
   $logdate = $getdate +"%D %T";
   chop($logdate);
}

.
   .
   .
   .

&debug($form{'action'});
   .
   .
   .

#####################################################################

Ausgabe Variable o.ä.

#####################################################################
sub debug
if ($local_test eq '1'){
  {open (LOGFILE,">>$debugpath") die "Can't Open $debugpath!\n";
  print LOGFILE "@_\n";
  close (LOGFILE);
  }
}
<schnapp>

Gruß Frank