Hallo,
%Parameter = split(/=/, $ENV{'QUERY_STRING'});
$Index = $Parameter{'Index'};
if ($Index eq '')
{
$Index = 0;
}
Ich denke doch, daß sich inzwischen das Modul CGI für die behandlung der CGI-Parameter durchgesetzt haben sollte.
Das was Du hier vorschlägst ist absolut nicht krisensicher, sondern funktioniert nur richtig , wenn es maximal einen Parameter gibt.
Scheint ja nur ne Kleinigkeit noch zu fehlen.
eigentlich ja, sonst finde ich nichts, was das Problem verursachen könnte
Naja,
foreach $line (@lines)
{
@fields=split(/\s*|\s*/,$line);
@lines = splice(@lines, $Index, $Index+81);
$thumb=$fields[5];
print <<HTMLF;
<blablablabla>
HTMLF
$indexBack=$Index-80;
if ($Index < 0) {$Index=0}
print "<a href="http://www.pbtoys.de/cgi-bin/newitemsneu.cgi?Index=$indexBack">80 zurück</a>";
}
Hier liegt der Fehler wohl darin, daß das splice innerhalb der Arrayabarbeitung verändert wird. Ich denke, daß da recht bal ein Array mit leerem Inhalt die Folge ist.
Richtiger wäre:
#schmeissen wir mal alles weg was wir nicht brauchen
@lines = splice(@lines, $Index, $Index+81);
foreach $line (@lines)
{
#hier wird die Ausgabe der Zeileninhalte durchgeführt
}
Abgesehen davon vermisse ich schmerzlich 'use strict' bzw. ein my da oder dort (bzw. immer wenn eine Variable neu eingeführt wird).
Grüße
Klaus