Willkommen in der Webstatt Zum Webstatt Blog und Stories
Dustwolf Dustwolf am 10.06.06 19: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. :D

netcup.de Warum gibt es hier Werbung?
milahu milahu am 10.06.06 19: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? ;)

Dustwolf Dustwolf am 10.06.06 20: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. :D

milahu milahu am 10.06.06 20:53

Ich seh schon, du kennst nur die eine Seite von PHP ;-)
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 ;)

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 ;)
Falls die Ausführung bockt, musst du wohl den Interpreter (PHP CLI) installieren.

sili sili am 11.06.06 01:26

CGI ist "nur" eine Schnittstelle. Perl ist toll :)

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/

Dustwolf Dustwolf am 11.06.06 15:32

Interessant. Danke, 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. :D

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. :D

milahu milahu am 11.06.06 16:02

Quote
Original von Dustwolf
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 ;)

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

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 ;)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt