[Allegro] Perl-Skrite für Avanti

Mentzel-Reuters mentzel-reuters at freenet.de
Fr Mai 19 12:09:49 CEST 2006


Liebe Liste,
die Umstellung eines recht alten Avanti-Servers auf den aktuellen habe 
ich jetzt abgeschlossen. Abgesehen von dem Problem POST/GET, von dem ja 
schon einmal die Rede war (und das ich zwar nicht begreife, das mich 
aber auch nicht stört: mit METHOD="GET" funktioniert erst einmal alles 
bei mir), mußte ich an zwei Stellen in das Höppner'sche ALLEGRO.PL 
massiv eingreifen. Mich wundert, daß das bisher entweder niemandem 
genauso ging bzw. daß es nicht aufgefallen ist. Bin ich denn der 
einzige, der auf der Grundlage dieser Skripte den Avanti-Server benutzt? 
Oder sind es wieder die mysteriösen Sonderkonditionen meines Rechners, 
die das alles verschulden?
Weiß jemand mehr?
Mit freundlichen Grüßen
Arno Mentzel-Reuters
_________________________________________
Hier die beiden Punkte:
(1) ALLEGRO.PL (Z. 393 im Originalskript, wie esmit dem aktuellen Avanti 
geliefert wird):  Um mit Hilfe von REGSRCH.PL die Kurztitelliste zu 
öffnen, wird $Input übergeben, die Kurztitel werden geladen und mittels 
SPLIT in Segmente zerlegt. Man findet diese Stelle leicht, wenn man nach 
"foreach $Z" sucht.  Der Trenner zwischen den Kurztiteln wird von 
Höppner als Hexwert 7F kodiert. Unter meinem alten Avanti auf Xitami ist 
das richtig. Im neuen System ist es der Hexwert CA (Ê). [[Darum, Herr 
Berger, gab es bei Ihren Versuchen an unserem OPAC die leeren Kurztitel 
- der Splitbefehl war wirkungslos, alle Kurztitel gerieten in einen 
HTML-Tag <TD ...> hinein und blieben unsichtbar.]]


(2) ALLGERO.PL Z. 473 ff. wird das Holen der nächsten Seite bei der 
Kurztitelanzeige geregelt. Die aktuelle Fassung von Z. 491ff lautet so:

    if( $Command =~ /ende/i )
    {
        $Position = ($#nummern-1) - (  ($#nummern-1)  % $maxKurztitel );
        $Mitte = 1;
        return;
    }

Das funktioniert aber sehr schlecht; das Skript kann dabei in negative 
Zahlen geraten und überhaupt vergessen, wo es ist. Der Apache reagiert 
darauf sehr ungnädig, Xitami zwar nicht, aber eine gescheite 
Funktionalität habe ich auch dort nicht erlebt. Nimmt man statt dessen 
Höppners Version aus der Allegro.pl von ca. 1996, dann läuft es. Die 
ging so:


     if( $Command =~ /ende/i )      # alte Version
   {
      $Position = $#nummern + 1 - ( ( $#nummern + 1 ) % $maxKurzTitel );
     $Mitte = 1;
    return;
    }





Mehr Informationen über die Mailingliste Allegro