« Info-AG I am kommenden Samstag den 04.02.06 | Main | Info-AG I am kommenden Samstag den 18.03.06 »

04.02.06

Script Info I-AG 21.01. 2006 (Martin)

Perl ist eine Interpretersprache, dh. Code in Perl wird durch ein
weiteres Programm, den sogenannten Interpreter interpretiert.

Warum perl?
Zum testen eines Programmes ist kein vorkompilieren nötig. Dies erleichtert
die Fehlersuche enorm, da der Interpreter seine Fehlerausgaben auf den
geschriebenen Perlcode bezieht (beispielsweise mit Zeilenangaben).
Perlcode ist im allgemeinen sehr kompakt.
Perl ist weit verbreitet.

Hallo Welt!

#!/usr/bin/perl

# mein erstes Perlprogramm <- dies ist ein Kommentar! (wird ignoriert)

# ein Semikolon schliesst eine Zeile (ein Befehl) ab.
# ein \n geht in eine neue Zeile
print "Abrakadabra, jetzt wird gerechnet!\n";

# das $-Zeichen leitet eine Variable ein
$zahl1 = 2;

$zahl2 = 5;

$summe = $zahl1 + $zahl2;
$produkt = $zahl1 * $zahl2;
$differenz = $zahl1 - $zahl2;
$quotient = $zahl1 / $zahl2;

# jetzt wollen wir unsere Zahlen auch sehen!

# eine Variable wird innerhalb von "" als solche erkannt
print "Die Summe von $zahl1 und $zahl2 ist $summe\n";
print "Das Produkt von $zahl1 und $zahl2 ist $produkt\n";
print "Die Differenz von $zahl1 und $zahl2 ist $differenz\n";
print "Der Quotient von $zahl1 und $zahl2 ist $quotient\n";

# Variablen koennen verschiedene Dinge, egal ob Zahlen (Gleitkomma und ganze Zahlen, Text oder andere Werte)beinhalten
$string = "Geld ist schoen, wenn man's hat, deshalb lernen wir Programmieren!";
# Das ist ein String
$integer = 3; # Das ist eine ganze Zahl
$float = 2.554; # Das ist eine rationale Zahl

print "Geld ist schoen, wenn man's hat, deshalb lernen wir Programmieren!\n";
#ist das gleiche wie
print "$string\n"; #oder mit
$string = "$string\n"; # Wahnsinn!!!
print $string;

# Jetzt wollen wir noch die Werte fuer die Variablen einlesen
# (duch eingabe oder textfile)
print "Abrakadabra, jetzt wirds interaktiv!\n";

# Tastatureingabe ueber STDIN (Standard-In) (im normalfall Tastatur)
print "Bitte Dateiname eingeben!\n";
$eingabe = Görßerzeichen STDIN Kleinerzeichen;
# ueberfluessiges \n entfernen! (sonst gibts ueberfluessige Leerzeilen)
chomp( $eingabe );

print "Ihre Eingabe $eingabe war richtig!\n";

# Einlesen von Daten aus einer anderen Datei
open TEMP, "< $eingabe";
$ausDatei = Görßerzeichen TEMP Kleinerzeichen;
close TEMP;
chomp( $ausDatei );

print "Dieser Text stand in einer Datei: $ausDatei\n";

Es ist bei jedem Programm zu empfehlen die "use strict"-Direktive
zu verwenden, um fehlerträchtigen Code zu vermeiden.
So werden beispielsweise private Variablen vorgeschrieben.
Diese werden mit eine einleitenden "my" vor der Variablendeklaration
gekennzeichnet.

Viel Perlcode und Module (wird später erklärt) gibt es im Internet
im CPAN (Comprehensive Perl Archive Network, http://cpan.org/).


Code von mir, falls euch der von Martin nicht gefällt:

#!/usr/bin/perl

# Mein 1. Perl-Programm

print "Das unser erstes Perl-Programm. Wir lieben alle die Informatik-AG.\n";


# Wir rechnen ein bißchen

$zahl1=2;

$zahl2=5;

$neuezahl3= $zahl1 + $zahl2;
$neuezahl4= $zahl1 * $zahl2;
$neuezahl5= $zahl1 - $zahl2;
$neuezahl6= $zahl1 / $zahl2;

print "Das sind unserer errechneten Zahlen: $neuezahl3, $neuezahl4, $neuezahl5, $neuezahl6.\n";


# Text in einer Variablen

$textinvar= "Geld ist schön wenn man's hat, deshalb lernen wir Programmieren.\n";

print "$textinvar";


# Tastatureingaben über Standard-In lesen.

$frieingelestext= Görßerzeichen STDIN Kleinerzeichen;
chomp($frieingelestext);

print "Ihre Eingabe war: $frieingelestext\n";


# Einlesen aus von Daten aus einer anderen Datei

open TEMP, "< $frieingelestext";
$eingelesenes= Görßerzeichen TEMP Kleinerzeichen;
close(TEMP);
chomp($eingelesenes);

print "Dieser Text stand in einer Datei: $eingelesenes\n";

# In obigen Zeilen bezüglich des Stdin und der Open-Prozedur wurde nachträglich Chomp eingeführt.

Posted by e0 at 04.02.06 07:08

Trackback Pings

TrackBack URL for this entry:
http://www.theofel.de/mt-cgi/mt-tb.cgi/2791