Hallo Christoph,
Bei PERL stimmt das so, weil PERL eben diese CGI-Funktionalität hat. TCL hat diese Funktionalität (bisher) nicht und kann sie eigentlich vom Konzept her auch nicht erwerben.
Was ist 'diese CGI-Funktionalität'? Meines Erachtens nur die Fähigkeiten auf STDIN,STDOUT und Environment zugreifen zu können.
Und diese Fähigkeiten wird TCL sicherlich auch haben.
Also gut, ich habe mir jetzt gerade einmal einen Crashkurs in TCL verordnet....
(15 min später)
Hier mein erstest TCL-Web-Script (eigentlich auch mein erstes TCL Script überhaupt *g*):
-- schnipp --------
#!tclsh
puts stdout "Content-type: text/plain"
puts stdout ""
puts stdout "Hallo welt"
-- schnapp --------
Und weil ich gerade dabei war, fand ich auch ein Package namens ncgi, welches anscheinend Funktionen im CGI-Umfeld bereitstellt.
Also ganz so schlecht kann es um die CGI-Fähigkleit nicht bestellt sein.
Man kann mit TCL/Tk ganze Webserver konfigurieren und "schreiben" (was man mit PERL nicht im gleichen Maß kann)
Das mußt Du mir jetzt einmal genauer erklären.
Übrigens dachte ich bisher, wir reden über TCL und nicht TK. Soweit ich das verstanden habe, ist TK nur eine Widget-Bibliothek zu TCL (und auch Perl, aber das ist eine andere Geschichte). TCL an sich ist doch auch nur eine Scriptsprache, ohne zwingend GUI-Elemente vorzuschreiben (siehe Beispiel oben).
Bisweilen (hier im Forum sehr selten angesprochen) gibt es etwas Verwirrung, weil es für PERL ja ein sehr reizvolles Tk-Modul gibt. Leider steht in der Doku zu diesem Modul nirgends, daß es übers "Netz" - und damit auch über den Apache - nicht verteilbar und ausführbar ist.
Weil TCL/TK bzw Perl/TK für lokal laufende GUI-Anwendungen gedacht ist, und nicht um dynamische Webseiten über einen HTTP-Server bereitzustellen.
Und um die Verwirrung noch weiterzutreiben: bei apache.org gibts unter http://tcl.apache.org/ seit geraumer Zeit ein hochinteressantes TCL-Projekt. Bloß hat selbst dieses Teil nix mit cgi zu tun.
Kann es nicht sein, daß dieses Projekt ähnliche Ziele verfolgt, wie es auch mod_perl tut? Beim kurzen Reinlesen habe ich irgendwie das gefühl gehabt, daß dem so ist.
Kurz: TCL/Tk-Scripts werden von einem Interpreter gelesen und befolgt, der auf dem "ausführenden" Rechenr installiert sein muß, ob das ein Server-Rechner oder ein Client-Rechner ist, ist egal.
Und wo ist der Unterschied zu Perl, die Syntax ausgenommen?
Grüße
Klaus