Suche nach als

Perl im cgi-bin

Auf dieser Seite:

Common Gateway Interface

Perl ist eine Scriptsprache (wie PHP) zur serverseitigen Informations-Aufbereitung. CGI heisst Common Gateway Interface (Allgemeine Datenaustausch Schnittstelle).

cgi-bin

Bekannteste Beispiele in Pearl sind: Besucherzähler (img_counter.pl), Mailform (mailform.pl), Postkarte, RandomLink

Pearl ist aber nicht ausschliesslich fürs Internet: ein Perl-Script (via Kommandozeile) kann auch auf einem Rechner Backups organisieren, die Auslastung analysieren, in Dateien nach etwas suchen.

Zeile 1 eines Perl-Scripts

#!/usr/bin/perl -w

Die Anweisung zur Lage des Perl-Interpreters auf dem Server beginnt mit den Zeichen #!, der so genannten shebang, gefolgt von der Pfadangabe /usr/bin/ und dem Namen des Perl-Interpreters perl. Optional kann, durch Leerraum getrennt -w am Ende notiert werden, um neben den Fehlermeldungen auch Warnungen ausgeben zu lassen.
Dies bei Unix Server Systemen, und zwar dann, wenn die Perl-Datei auf den Modus "ausführbar" (chmod 755) gesetzt ist (CHMOD). Bei MS Windows Rechnern (nicht unbedingt ein Server) sieht die Zeile 1 z.B. so aus:
#!C:/programme/perl/bin/perl.exe

Weitere Zeilen

use strict;
keine unsicheren Konstrukte akzeptieren, bevor das Script ausführt wird (z.B. nicht definierte Variablen)
use CGI::Carp qw(fatalsToBrowser);
ein spezielles Modul einbinden, das beim Abbruch des Scripts die Fehlerursache direkt an den Browser übergibt

Perl Beispiel für Heredoc

Ist sehr PHP ähnlich, aber nicht damit identisch. PHP ist aus Perl entstanden und für die Kombination mit HTML optimiert, Perl kann nicht in HTML eingebunden werden, die Scripts sind immer als eine eigene Datei hinterlegt. Aber es kann HTML in Perl eingebunden werden (nach obigen 2 Zeilen folgt):

my $Einleitung = "Weniger print Befehle";
# HTP Header
print "Content-type: text/html\n\n";

print <<"ENDE";
<html><head><title>Testausgabe</title></head><body>
<h1>$Einleitung</h1>
<p>Der Vorteil bei dieser Form ist, dass man viel HTML-Code
auf einmal erzeugen kann, ohne einen einzigen weiteren print-Befehl
in Perl zu notieren. Praktisch beispielsweise auch zum Ausgeben
von JavaScript:</p>
<script type="text/javascript">
document.write("<p>Und die Adresse dieser HTML-Datenquelle lautet: ");
document.write(document.URL+"<\/p>");
</script>
</body></html>
ENDE
(Nach ENDE unbedingt ein Zeilenumbruch!)

Die Datei muss in den cgi-bin Ordner auf dem Server, sonst funktioniert es nicht.

Ich verzichte im Moment auf ein eingehenderes Studium von Perl, PHP ist inzwischen viel weiter verbreitet.


Valid XHTML 1.0 Check den Code.

Flash: >> << SSI Beispiele
Ich bin hier: > Andere Sprachen Lehrling >> Perl im cgi-bin
 
HTML und XHTML | CSS | JavaScript und DHTML | PHP und MySQL | Andere Sprachen
Letzter Update: 21.12.2009