Webstatt.org - Community seit 2006 - 2012 (2024?)

Perl / CGI

Avatar user-168
10.06.2006 17:27

Hallo.

Ich überlege gerade, ob ich Perl und / oder CGI lernen möchte. Deshalb hab ich mich auch mal ein wenig umgeschaut, was es da so an Büchern zu gibt und habe erstmal gemerkt, was Perl und CGI für einen Funktionsumfang haben.

Was ist eurer Meinung nach eine gute Möglichkeit Perl und / oder CGI zu erlernen und was haltet ihr für wichtiger?
Wenn ich das richtig verstanden habe, dann soll Perl ja eine Erweiterung von CGI sein?!?!?

Irgendwie ist das ziemlich kompliziert. Fettes Grinsen

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
Avatar user-255
10.06.2006 17:46

Du hast iwie eine falsche Vorstellung vom CGI -- es dient nur dazu, Webserver und (hier) Perl-Skript zu verbinden.
Über das CGI ruft der Server das Programm auf und liefert die Ausgabe an den HTTP Client.

Nun zu Perl: Was willst du machen, damit du Perl brauchst? zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-168
10.06.2006 18:35

Ah, das macht auch verständlich, was die mit Erweiterungen meinten. Das ist dann quasi so ne Art Interpreter/Parser/Compiler für die Perlscripte?


Nun, ich kenne Perl am ehesten von MySQL Dumper und dort ist es die schnellere Alternative zu PHP. Im Prinzip ist mein Gedanke dazu derselbe, ich will Aktionen vornehmen, die keinerlei Ausgabe benötigen und quasi die Verwaltung übernehmen. Wo aber ein PHP-Script an seine Grenzen stößt.

Zum Beispiel wenn ich einen CronJob schreibe, der bei meinem CMS (schreibe ich selber in PHP) die Optimierung und Verwaltung übernimmt. Also werde ich hauptsächlich Datenbankeinträge prüfen, löschen, bearbeiten oder sichern.
Desweiteren Emails versenden ( Ankündigungen für automatische Accountlöschung nach z.B. 90 Tagen wegen Inaktivität), etc.
Also quasi alles was ein CMS im Hintergrund hin und wieder machen sollte (ja, die Formulierung ist doof, weil das ja der Cronjob und nicht das CMS macht, aber mir fällt keine bessere Formulierung im Moment ein).

Wichtig ist mir dabei, dass das Script schnell läuft, keinerlei Beschränkungen (wie das Scripttimeout bei PHP) hat und auch sonst möglichst wirksam ist.

Ich hoffe, dass du nun so ungefähr einschätzen kannst, was ich mit PHP realisieren wollen würde, wenn ich es lernen sollte.

Danke erstmal für die schnelle Antwort. Fettes Grinsen

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
Avatar user-255
10.06.2006 18:53

Ich seh schon, du kennst nur die eine Seite von PHP zwinkern
Für die Verwaltung im Hintergrund kannst du genauso gut PHP verwenden -- Einstellungen wie die maximale Ausführungszeit kannst du dabei einfach überschreiben oder gleich ganz deaktivieren (siehe /etc/php/cli-php5/php.ini oder ähnlich)

Dazu sei noch gesagt, dass CGI ein reiner Tunnel ist. Interpretiert wird das Skript immer noch vom entsprechenden Interpreter.
Und natürlich ist das ganze nicht auf Perl beschränkt -- du kannst genauso gut eine C++ Anwendung "dranhängen".

Wenn es dir aber um Geschwindigkeit geht, dann solltest du dir mal Assembler ansehen *G
... ne, die Unterschiede sind so gering, da isses egal, ob nun Perl, PHP, Python oder doch Ruby zwinkern

Hier mal ein Beispiel, wie so ein PHP Skript aussehen würde:
#!/usr/bin/php
Fuer den Anfang ein kleiner Systemcall:
<?php
print `uname -a`
?>

Ausführbar machen nicht vergessen (chmod +x)
Den Interpreter findest du in der ersten Zeile, der Rest dürfte bekannt sein zwinkern
Falls die Ausführung bockt, musst du wohl den Interpreter (PHP CLI) installieren.

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm
Avatar user-300
10.06.2006 23:26

CGI ist "nur" eine Schnittstelle. Perl ist toll lächeln

Ein sehr gutes Buch für den Einstieg ist "Einführung in Perl" von O'Reilly (ohnehin ein sehr guter Verlag für diverse Programmierbücher).
http://www.oreilly.de/catalog/learnperl4ger/

Avatar user-168
11.06.2006 13:32

Interessant. user-158ke, euch beiden. Ich kenne PHP bisher wirklich nur als "aktive" Sprache für Ausgaben und den ganzen Kram und weniger für wirklich arbeitsintensive Aufgaben.


Zu dem Buch: Ich werd das gleich mal bei Amazon suchen gehen. Fettes Grinsen

Nun zu:
#!/usr/bin/php
Fuer den Anfang ein kleiner Systemcall:
<?php
print `uname -a`
?>


Wie genau funktioniert das denn dann? Das man die Beschränkungen aufheben kann ist mir bekannt, auch wenn ich davon wenig halte, da ich da Sicherheitsbedenken habe. Gilt das dann als normales CGI-Script, wo man einfach mit der Raute den Interpreter angibt und dann in dessen "Sprache" weiterschreibt?
Bzw. hast du da ein Tutorial oder einen Buchtipp für mich? Weil ich mich da wohl mal richtig einarbeiten müsste. Ich habe auch mit PHP momentan eher Erfahrungen mit reinem Webspace und weite das grade aus, da ich mir mit nen paar Kumpels nen Rootserver geholt hab. Da kann man dann ja doch einiges mehr mit umsetzen, weil man keinen wirklichen Beschränkungen mehr unterliegt. Fettes Grinsen

Dustwolf ------------------------- Und wenn du lange in einen Abgrund blickst, blickt der Abgrund auch in dich hinein. F. Nietzsche
Avatar user-255
11.06.2006 14:02

Original von user-168
Gilt das dann als normales CGI-Script, wo man einfach mit der Raute den Interpreter angibt und dann in dessen "Sprache" weiterschreibt?


So ist das ein gewöhnliches Unix Programm, welches man natürlich auch über CGI in den Webserver tunneln lassen kann zwinkern

Ein Buch? Ich kann mit Programmierbüchern nix anfangen.. meine Wissensquelle No. 1 ist immer noch Google Fettes Grinsen

Die Einarbeitung wird wohl darin bestehen, zu lernen, wie man solche Skripte zum laufen bekommt und Argumente aus der Shell entgegennimmt.. CLI Skripter kochen auch nur mit Wasser zwinkern

Those who can, do. Those who can't, teach. # Musik gehört dem Volk! # last.fm