Andreas: random-link ohne Zufallsprinzip

Beitrag lesen

Hallo,

das nachfolgende Script gibt einen Zufallslink aus. Dabei gibt es keine bestimmte Reihenfolge. Wie muß das Script umgeschrieben werden, damit die
URL-Adressen, die in der Datei Url.txt stehen, der Reihe nach ausgewählt werden. Also bei jedem Aufruf des Script wird die nächste URL der Reihe nach
ausgegeben und nicht durch Zufall ausgewählt.
Am Ende von Url.txt soll das script von vorne beginnen.

Ich hoffe jemand kann mir helfen. Meine cgi-Kenntnisse sind dafür leider nicht ausreichend. Oder gibt es so ein Script bereits? Was ich bisher an scripten im Netz
gefunden habe, arbeitet nach dem Zufallsprinzip.

#!/usr/bin/perl
######################################################################

Necessary Variables

$RandomLinkFile = "/Absolute/path/to/Url.txt";

$UseLog = 1; # Use Log File ? 1 = YES; 0 = NO
$RandomLogFile = "/Absolute/path/to/Log.txt";

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

srand(time);
open(LINKS,"$RandomLinkFile") || &Error("Cannot Open Links File : $RandomLinkFile, Error $!\n");
$NbLines = @LinkFile = ;
close(LINKS);

$Url = $LinkFile[int rand $NbLines];

if ($UseLog) {
@date = localtime(time); $date[4]++; $date[5] += 1900;
$Time = "$date[4]/$date[3]/$date[5]";
open(LOG,">>$RandomLogFile") || &Error("Cannot Write Log File : $RandomLogFile, Error $!\n");
print LOG "[$Time] - $ENV{'REMOTE_HOST'} -> $Url\n";
close(LOG);
}

print "Location: $Url\n\n";

sub Error {
my($ErrorText) = @_;
print "Content-type: text/html\n\n";
print "Error: ".$ErrorText;
exit;
}

Gruß Andreas