Login
Newsletter
Werbung

Fr, 4. Juni 1999, 00:00

Perl/CGI-Workshop, Teil 3

Perl/CGI-Workshop, Teil 3

Eingabe in Perl

Perl wurde sozusagen von schreibfaulen Programmierern für schreibfaule Programmierer entwickelt. Deshalb braucht man in Perl Variablen nicht zu deklarieren, sie werden bei ihrer ersten Verwendung implizit erzeugt. In Perl gibt es im Wesentlichen skalare Variablen, Arrays und Hashes. Skalare Variablen sind diejenigen, in denen man einen einzigen Wert speichert, sei dies eine Ganzzahl, eine Zeichenkette oder eine Gleitkommazahl.

Der erfahrene Programmierer wird nun einwerfen, dass dies bei großen Projekten eine mögliche Fehlerquelle ist, da, sobald man sich bei einem Variablennamen vertippt, eine neue Variable erzeugt wird und der Inhalt der Variablen, die eigentlich gemeint war, unberührt bleibt. Dies kann man in Perl zum Glück verhindern, indem man "use strict;" an den Anfang des Codes schreibt, wodurch man sich zwingt, alle Variablen zu deklarieren. Näher will ich darauf aber hier noch nicht eingehen.

Dass ein Bezeichner ein Skalar ist, erkennt der Perl-Interpreter daran, dass dieser mit dem Dollarzeichen ($) beginnt. Das Verwenden von Variablen ist in Perl prinzipiell nicht anders als in anderen Sprachen:

#!/usr/bin/perl
# vardemo.pl -- by W. Jährling
$text = "Hallo";
print $text, "\n";
$pi = 3.1415926535897932;
$r = 6;
print "Flächeninhalt: ", $pi * $r * $r;

Eine Zeile aus einem Eingabestream kann mit dem Operator <> gelesen werden. Dabei wird der Name des Streams zwischen < und > geschrieben. Dieser Ausdruck liefert dann eine Zeile (inklusive "\n"-Zeichen), die man an eine Variable zuweisen kann:

#!/usr/bin/perl
# radius.pl -- by W. Jährling
$pi = 3.1415926535897932;
print "Radius: ";
$radius = <STDIN>;
$flaeche = $pi * $radius * $radius;
print "Der Flächeninhalt beträgt $flaeche.\n";

Ihnen ist eben wohl aufgefallen, dass in der letzten Zeile des Quellcodes der Variablenname $flaeche im Text eingebettet wurde. Dieses Verhalten hat Perl aus der Shell: Zwischen Anführungszeichen werden (Umgebungs)variablen eingebettet. Dies kann in Perl wie in der Shell durch die Verwendung von Hochkommata verhindert werden:

#!/usr/bin/perl
# demo.pl -- by W. Jährling
print "Ihr Name? ";
$name = <STDIN>;
print 'Der Wert von $name ist ', $name;

Was der Vorteil dieser Art der Eingabe ist, werden wir sehen, wenn wir die Kontrollstrukturen von Perl näher betrachten.

Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung