Guten Abend,
Ich habe eine CSV-Datei die sieht so aus:
L1,rauchen.txt,L2,rauchen.png,L3
R1,autos.txt,R2,autos.png,R3
O1,strom.txt,O2,strom.png,O3
U1,urlaub.txt,U2,urlaub.png,U3
Und eine Perl-Abfrage, die sieht so aus:
my $Layout1;
my $Thema;
my $Layout2;
my $Bild;
my $Layout3;
open(LESER, "<public/publisher.csv");
flock(LESER, LOCK_SH);
print "Content-type: text/html\n\n";
while(! eof(LESER)){
my $zeile = <LESER>;
my ($Layout1, $Thema, $Layout2, $Bild, $Layout3) = split(/,/,$zeile);
if($Layout1 == "L1") {
print "<!-- ############################### -->\n";
print "<!-- #Das ist die Klasse Text Links# -->\n";
print "<!-- ############################### -->\n";
print "\n";
print '<div class="inner_left_links">',"\n";
}
if($Layout1 == "R1") {
print "<!-- ################################ -->\n";
print "<!-- #Das ist die Klasse Text Rechts# -->\n";
print "<!-- ################################ -->\n";
print "\n";
print '<div class="inner_left_rechts">',"\n";
}
print $Layout1, $Thema, $Layout2, $Bild, $Layout3;
}
close(LESER);
Die Datei wird korrekt geöffnet. Die Daten werden Zeilenweise ausgelesen und anschliessend auf fünf Variablen verteilt. Habe das getestet, denn wie man sieht liefert die letzte Printanweisung den Beweis. Alles ok!
Nur müsste nach diesem Script die Div-Klassen nur zweimal im Quelltext der Shtml-Seite auftauchen- statt acht mal. Irgendwie vergleicht der die Variable $Layout1 nicht richtig mit dem Wert "L1".
Soweit ich weiss, wird doch der Block an Anweisungen in der {}-Spitzen Klammer ausgeführt, wenn der If-Teil zutrifft. Das Script führt aber den in den Spitzklammern enthaltenen Block _immer_ aus. Warum?
Gute Nacht Gary