michaelkbs
Goto Top

Cal - Kalender in Intranetseite einfuegen klappt nicht

Hi, Ich muss ein System von einem alten Suse-Linux auf ein Neues umziehen und habe dabei ein merkwürdiges Problem.

Ein Perl-Script soll unter anderem einen calender anzeigen. Wenn ich das Script direkt starte, tut es das auch, aber wenn ich es auf dem Webbrowser öffne, kommt kein Kalender.
Das Script funktionierte auf dem alten (Suse8) tadellos, aber auf OpenSuse 11.4 (12 geht wegen einer Inkompatibilität nicht mit unserer Datenbank), klappt es nicht
Programmausschnitt:

open (IN,"cal -m 03 2012 |");
$firstline=<IN>;
print "$firstline<br>";
close IN;

Im Webbrowser bekomme ich nur das <br>, bei direktem Aufruf von der Konsole korrekt die erste Zeile, die cal liefert. (Das Programm soll natürlich auch den Rest einlesen und Monat und Jahr sind auch nicht fest, aber ich habe es so runtergebrochen um den Fehler zu isolieren).

An anderer Stelle wird mit der gleichen Konstruktion das Datum geholt. Das geht tadellos:

open(IN,"date +%m-%Y |");

Ich habe mein Glück schon mit dem absoluten Pfad von cal versucht und auch cal in das cgi-bin kopiert, aber das Ergebnis bleibt das selbe.
Alternativkonstruktion mit @array=`cal -m 03 2012`; führt auch zu nichts.
Aus irgend einem Grund kommt von "cal" nichts zurück, wenn das Script über Browser gestartet wird.

Für jede Idee wäre ich dankbar.
Gruß
MichaelKBS

Content-Key: 181934

Url: https://administrator.de/contentid/181934

Ausgedruckt am: 29.03.2024 um 00:03 Uhr

Mitglied: MichaelKBS
MichaelKBS 15.03.2012 um 10:33:20 Uhr
Goto Top
Ich habe herausgefunden, dass es weniger an Perl liegt als an Linux selbst: cal stürzt mit segmentation-fault ab, wenn es nicht aus der Konsole gestartet wird.
Als Workaround habe ich cal jetzt Kalender auf Vorrat in Dateien schreiben lassen und hole mir mit dem Script nur noch die passende Datei.