Perl - FOM
Theorieinhalte zur Klausur der FOM - Skriptsprachenorientierte Programmierung (Perl)
Theorieinhalte zur Klausur der FOM - Skriptsprachenorientierte Programmierung (Perl)
Set of flashcards Details
Flashcards | 16 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | University |
Created / Updated | 07.06.2013 / 11.06.2016 |
Weblink |
https://card2brain.ch/box/perl_fom
|
Embed |
<iframe src="https://card2brain.ch/box/perl_fom/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Create or copy sets of flashcards
With an upgrade you can create or copy an unlimited number of sets and use many more additional features.
Log in to see all the cards.
Was ist Perl?
- Abkürzung für: "practical extraction and report language"
- Erfinder und Hauptentwickler (Ende der 80'er): Larry Wall
- Hauptanwendung liegt in Be- und Verarbeitung textbasierter Daten
- Perl ist eine "interpreter-Sprache"
- für Programmausführung ist ein "Perl-Interpreter" nötig
- Schließung der Lücke zwischen Low-Level- und High-Level-Programmierung
Compiler
Wofür ist Perl wirklich gut geeignet?
- für schnell „zusammengeschusterte“ Programme
- optimiert zu ca. 90% für „Text-Probleme“
- für die Auswertung und Umwandlung von großen Datenmengen (Text,HTML-Format)
- für kleine CGI - Skripte (Programme, die von einem Webserver ausgeführt werden).
- Nur bedingt geeignet für lange und ausgedehnte Programme, für die ein Team von Programmierern längere Zeit benötigt
Wofür ist Perl nicht gut geeignet?
- Für das Erzeugen eines opaken Binärcodes
- Programm in einem Format, welches die Codeinhalte nicht Preis gibt
- Weitergabe eines Perl-Programms -> Weitergabe des Quellcodes
Ganzzahlige Literale
- unkompliziert
- Unterstriche sind erlaubt (Lesbarkeit)
- Nichtdezimale ganzzahlige Literale
- Zahlen zur Basis ungleich 10 erlaubt
- oktale (zur Basis 8) Literale:
- Anfangszeichen: 0
- hexadezimale (zur Basis 16) Literale
- Anfangszeichen: 0x
- binäre (zur Basis 2)
- Anfangszeichen: 0b
- Sie bestimmen die für Sie am besten geeignete Darstellung!
Programmierbeispiel:
$i = 1745; # ganze Zahl
$j = 19.11; # Gleitkommazahl
$k = .35; # Gleitkommazahl, wie 0.35
$l = 24E-5; # zur Basis 10
$m = 7_408_999; # Lesbarkeit für große Zahlen
$n = 0xfa20; # hexadezimal
$o = 04363; # oktal
$p = 0b11111111; # binär
Arithmetik-Operatoren
• Grundrechenarten: +, -, * und /
• Potenz: **
• Modulo: %
• Bit-Operatoren (ganze Zahlen): &, | und ˆ
• Inkrement / Dekrement: $n++; ++$n; $n--; --$n;
• Zuweisungen: =, +=, -=, *=, /=
• Vergleiche: ==, !=, <, >, <=, >=
Programmierbeispiel:
#Grundrechenarten: +, -, * und /
$zahl1 = 4;
$zahl2 = 2;
$ergebnis = $zahl1 + $zahl2;
print "Ergebnis (+): $ergebnis\n";
$ergebnis = $zahl1 - $zahl2;
print "Ergebnis (-): $ergebnis\n";
$ergebnis = $zahl1 * $zahl2;
print "Ergebnis (*): $ergebnis\n";
$ergebnis = $zahl1 / $zahl2;
print "Ergebnis (/): $ergebnis\n";
#Potenz: **
$ergebnis = $zahl1 ** $zahl2;
print "Ergebnis (**): $ergebnis\n";
#Modulo: %
$ergebnis = $zahl1 % $zahl2;
print "Ergebnis (%): $ergebnis\n";
Strings in einfachen Anführungszeichen
• 'Single-quoted String'
o Zeichenkette umschlossen von einfachen Anführungszeichen
• (Hochkomma, Gegenhochkomma!(folgt))
• Anführungszeichen gehören nicht zum String
• Markierung des Anfangs und des Endes des Strings
• Interpretation z.B. der Zeichenfolge \n innerhalb eines Strings in einfachen
Anführungszeichen nicht als das Newline-Zeichen
o ein Backslash gefolgt von einem n.
• Sonderbedeutungen:
o der doppelte Backslash (\\)
o ein Backslash gefolgt von einem einfachen Anführungszeichen (\').
Programmierbeispiel:
$string1 = 'Otto'; # Die vier Zeichen: O, t, t und o
$string2 = '*Perl*'; # Diese sechs Zeichen
$string3 = ''; # Der Nullstring (keine Zeichen)
$string4 = 'Ein \'; #kann Ihren String frueher beenden, als Sie
denken.';
$string5 = 'Das letzte Zeichen dieses Strings ist ein Backslash: \\';
$string6 = 'Hallo\n'; # Hallo, gefolgt von einem Backslash, gefolgt
von einem n
$string7 = 'Hallo Welt!'; # Hallo, Leerzeichen, Welt! (insgesamt 11
Zeichen)
$string8 = '\'\\'; # Ein einfaches Anführungszeichen, gefolgt von
Backslash
Strings in doppelten Anführungszeichen
• "Double-quoted Strings" - eine Folge von Zeichen umschlossen von
doppelten Anführungszeichen
• ähnliches Verhalten wie bei anderen Programmiersprachen
Programmierbeispiel:
$string1 = "Otto"; # das gleiche wie 'Otto'
$string2 = "Hallo Welt\n"; # Hallo Welt und ein Newline-Zeichen
$string3 = "Das letzte Zeichen ist ein doppeltes Anführungszeichen: \"";
$string4 = "string1\tstring2"; # string1, ein Tabulator String2
Interpolation
- Ersetzen von Variablen in Zeichenketten durch den aktuellen Wert
Drei Möglichkeiten:
• Keine Interpolation
o Hochkomma (bzw. „Tick“): »´«
Programmierbeispiel:
$string1 = "dir";
print "Ausgabe: $string1 \n";
$string2 = 'dir';
print 'Ausgabe: $string2\n';
$string3 = `dir`;
print "Ausgabe: $string3";
• Interpolation
o Doppelte Anführungsstriche: »”«
• Interpolation mit Standardausgabe des Kommandos
o Gegenhochkomma (bzw. „Backtick“): »`«
String-Operatoren
Operatoren für Strings:
.- Operator (Verkettung)
• Das „Aneinanderhängen“ von Stings
=, bzw. .= - Operatoren (Zuweisungsoperator)
• Das Zuweisen bzw. Aneinanderhängen des rechten Operators (String) an
den linken Operator (String)
x- Operator (Wiederholungsoperator)
• Das Kopieren und Aneinanderhängen des linken Operators (String) anhand
der Anzahl definiert durch den rechten Operator (Zahl)
Programmierbeispiel:
$string1 = "string1";
$string2 = "string2";
#Verkettung: .” ”.
$string3 = $string1 . $string2;
print "$string3\n";
$string3 = $string1 ."und". $string2;
print "$string3\n";
#Zuweisungen: = und .=
$string1 = "string1";
$string2 .= "stringX";
print "$string1\n";
print "$string2\n";
#Wiederholungen: $text = ”wichtig” x 8;
$string1 = "string1" x 5;
print "$string1\n";
$string2 = 5x(3+1);
print "$string2\n";
Kontrollstrukturen: (Auswahl)
• if - Kontrollstruktur
• alternative Auswahlmöglichkeit: elsif - Schlüsselwort
• alternative Auswahlmöglichkeit: else - Schlüsselwort
• Verwendung für alle Zweige von „{ . . . }“ zwingend notwendig
• Verknüpfung von Bedingungen durch „Bool’sche Operatoren“
Programmierbeispiel:
print "Bitte geben Sie Ihren Namen ein: ";
$name = <STDIN>;
print "Bitte geben Sie Ihr Alter ein: ";
$alter = <STDIN>;
print "Hallo $name";
print "Ihr Alter: $alter";
if( $alter < 20 )
{
print "Sie haben noch viel vor ...\n";
}
elsif( $alter <= 50 )
{
print "Sie sind zwischen 20 und 50 ...\n";
}
print "Sie haben es sich verdient ...\n";
}
else
{
Kontrollstrukturen: Schleifen
Schleifenstrukturen in Perl:
• for
• while
• foreach
• do
Schleifenblöcke werden zwingend von „{ . . . }“ umschlossen.
Programmierbeispiel:
for ($i=0 ; $i < 3; ++$i)
{ print "*"; }
for $no (1..3) {
print ($no,"\n");
$no = 3;
while ($no > 0) {
print ("$no\n");
--$no;
@a=("hans","franz","paul");
foreach my $eintrag (@a)
{
print "$eintrag ";
}
}
}
Der Wert "undef"
Was passiert bei Verwendung einer skalaren Variable ohne Initialisierung?
• Vor der Initialisierung besitzen Variablen den speziellen Wert undef
• Verwendung dieses Werts als einen numerischen Wert ergibt: 0
• Verwendung dieses Werts als einen String ergibt: leeren String
• undef ist weder eine Zahl noch ein String
• undef ist eine eigenständige Art von skalarem Wert
• Verwendung von undef oft als Rückgabewert
Programmierbeispiel:
$n = 1;
while ($n < 10)
{
$summe += $n;
$n++;
}
print "Das Ergebnis lautet: $summe.\n";
$zeichenkette .= "hinzugefügt\n";
print "$zeichenkette\n";
Die Funktion "defined"
• Erkennung, ob ein Wert tatsächlich undef ist oder ein leerer String
• der Zeileneingabeoperator <STDIN> liefert normalerweise den
eingegebenen Text
• Wird keine Eingabe vorgenommen (Ende einer Datei), dann liefert <STDIN> den Wert: undef
Programmierbeispiel:
$string ;
if ( defined($string) )
{
print "Der Inalt von \$string lautet: $string";
print "Der Inalt von \$string lautet: $string";
}
}
else
{
-
- 1 / 16
-