ein Kapitel zurück                                           ein Kapitel weiter

Kommen wir nun zu einigen String-Funktionen zum bearbeiten von Zeichenketten. Zuerst eine Funktion die ziemlich häufig eingesetzt wird. Das Aneinanderreihen von Zeichenketten.....

$string=" Mit" . " dem" . " .-Operator" . " können" . " wir" .
        " einzelne" . " Strings" . " Aneinanderreihen\n";
print $string;


In diesem . -Operator können sie einzelne Strings aneinander hängen. Natürlich  funktioniert dies auch mit Zahlen da ja Perl nicht zwischen Zahlen und String unterscheidet. Für Ihn sind alles skalare Variablen. Hierzu ein weiteres Beispiel..........

#!/usr/bin/perl -w

$var=100;
$str="Dies funktioniert aber auch " . $var .
     "%-ig mit Zahlen und Strings gemischt\n";

$text=<<HERE_HOWDI;
Eine weitere Möglichkeit des Weltmeisters der Textverarbeitung
Texte ausgeben zu lassen bzw. einer skalaren Variablen zuzuweisen.
Der Text wird auch formatiert ausgegeben.
HERE_HOWDI

$text=$text . q%Mit diesem "Punkt" ist Möglich,
                 einen String an den anderen zu hängen%;

print $text, "\n";

print $str;


C-Programmieren können diesen . -Operator mit der Funktion strcat vergleichen.
Dies wird übrigens Konkatenation genannt.

Wenn sie nur ein Zeichen oder einen Text mehrfach Aneinanderreihen wollen, also die selbe Text- bzw Zeichenfolge Wiederholen wollen können sie dies mit dem x -Operator machen........


#!/usr/bin/perl -w

$linie='#' x 30;    #es werden 30 '#' ausgeben
$sharp='#';
$leer=' ' x 28;      #es werden 28 Leerzeichen ausgegeben

print $linie,"\n";
print $sharp . $leer . $sharp,"\n";
print $sharp . $leer . $sharp,"\n";
print $sharp . $leer . $sharp,"\n";
print $linie, "\n";

#Es wird ein Rechteck mit '#' ausgegeben


Natürlich können wir dies einfacher mit Schleifen bewerkstelligen aber dazu kommen wir noch.

length
Mit dieser Funktion erhalten wir die Länge unseres Strings ohne abschließendes  Terminierungs - Zeichen. C-Programmierer kennen diese Funktion unter strlen.


#!/usr/bin/perl -w

$string=0;
$laenge=0;

print "Bitte geben sie ein Zeichenfolge ein : ";
chomp($string=<STDIN>);

$laenge=length $string;
printf qq§Sie haben "%d Zeichen" eingeben\n§,$laenge;
printf "Genau %d Zeichen\n", length $string;


In diesem Beispiel werden sie aufgefordert eine Eingabe zu machen und bekommen dann die Anzahl Zeichen die sie eingegeben haben mit der Funktion length zurück.

Wenn sie von einem Zeichen den Zahlencode benötigen oder umgekehrt, so gibt es die Funktionen chr und ord. Mit chr erhalten von einem Zahlencode das Zeichen und mit ord erhalten von einem Zeichen den Zahlencode.............


#!/usr/bin/perl -w

printf qq§Zahlencode von "A" ist %d\n§,ord('A');
print "Das Zeichen zum Zahlcode 99 ist " . chr(99) . "\n";


Um in einem Text nach einem bestimmten String- oder Stringfolge zu suchen gibt es die Funktionen index und rindex. Der Unterschied dieser beiden Funktion ist das rindex von hinten anfängt zu suchen und index eben von vorne. Diese Funktion kann für  C-Programmierer mit strstr verglichen werden. Die Funktion liefert uns als  Rückgabewert die Position wo der Suchstring enthalten ist oder falls nicht gefunden -1........


#!/usr/bin/perl -w

$suchstring=0;
$string=<<HERE_TEXT;

Um in einem Text nach einem bestimmten String- oder Stringfolge
zu suchen gibt es die Funktionen index und rindex.
Der Unterschied dieser beiden Funktion ist das rindex
von hinten anfängt zu suchen und index eben von vorne.
Diese Funktion kann für C-Programmierer mit strstr verglichen werden.
Die Funktion liefert uns als Rückgabewert die Position wo der
Suchstring enthalten ist.........

HERE_TEXT

print "Nach welchen Wort- oder Wortfolge wollen sie suchen : ";
chomp($suchstring=<STDIN>);

print "Ich habe das Wort gefunden an Position "
        . index($string, $suchstring) . "\n";
print q%"-1" steht für nicht gefunden% . "\n";


Die Funktion chomp haben sie ja bereits zu Eingabe kennen gelernt. Diese Entfernt das letzte Zeichen nur wenn es mit dem Wert der Internen Variable $ \ übereinstimmt (Beispielsweise \n)
Zusätzlich gibt es noch die Funktion chop, die genauso verwendet wird wie chomp, nur das diese Funktion immer das letzte Zeichen entfernt.

Das waren jetzt nicht alle String-Funktionen. Zu weiteren werden wir im Laufe des Kurses kommen.

Anhand diesen Kapitels werden sie jetzt wohl gemerkt haben was so besonderes an Perl ist. Die Einfachheit und Flexibilität Programme zu schreiben bitte wohl kaum eine Sprache. Natürlich ist der Nachteil auch das es in Perl auch so einfach ist einen Code zu schreiben der nicht mehr zum Verstehen ist.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf