Thread Perl_cgi oder mod_perl (24 answers)
Opened by Gast at 2007-11-01 23:03

Gast Gast
 2007-11-02 18:34
#101700 #101700
Ich habe die Original Konfiguration von Apache verwendet.
Ich werde mal versuchen, sie entsprechend anzupassen.

Falls von Interesse.
Ich habe das Beispiel von Selfhtml auf meinen Fall abgeändert und es ist tatsächlich der gleiche Effekt.
Wenn ich das nachfolgende Programm aufrufe mit test.pl?zahl=1
und dann nochmal mit test.pl?zahl=2,
so wird 2 richtig eingelesen, in dem Unterprogramm wird aber nach wie vor 1 ausgegeben.
Wenn ich $zahl global definiere, läuft das Programm auch im lokalen System korrekt, das kann aber doch nicht die Lösung sein, denn dies widerspräche allen Empfehlungen, globale Variablen zu vermeiden.

test.pl:

#!/usr/bin/perl -w
use strict;

my ($zahl);
sub getinc
{print "*** \$zahl in getinc: $zahl ***<br>"; # alter Wert: Fehler
}
use CGI;
use CGI::Carp qw(fatalsToBrowser);

print <<AAA;
Content-type: text/html\n\n
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head></head><body>
AAA

my $query = new CGI;
$zahl = $query->param('zahl');
print "*** \$zahl zum Programmbeginn: $zahl ***<br>"; # neuester übergebener Wert: In Ordnung

getinc ();

print <<GGG;
</div>
</body>
</html>
GGG

View full thread Perl_cgi oder mod_perl