ein Kapitel zurück                                           ein Kapitel weiter

Was sind Strings überhaupt? Nichts anderes als eine Kette von Zeichen die bei Perl und viele anderen Sprachen auch innerhalb von doppelte bzw. einfache Anführungszeichen stehen........


$str="Ich bin ein String der skalaren Variable str\n";
$str= ' Man kann mich auch so schreiben ' ;


Strings können auch in skalare Variablen zwischengespeichert werden........


$str="Ich bin ein String der skalaren Variable str\n";
$str= ' Man kann mich auch so schreiben ' ;


Für Leute die von der Programmiersprache C kommen ist dies natürlich ein bisschen verwirrend das man in Perl alle Datentypen in einen Topf wirft.


$str="Hallo Welt\n";
$var=100;


In C würde man dafür schreiben............


char str[]="Hallo Welt\n";
int var=100;


Soviel nur am Rande dazu. Nun gibt es aber in Perl noch weiter Möglichkeiten Strings (wir wollen sie von nun an Zeichenketten nennen) zu definieren.

Die ein Möglichkeit ist mit q für Quoting. Wofür?
Nun eigentlich nur aus Bequemlichkeitsgründen würde ein C-Programmierer sagen. Dann anstatt.........


$str="Hallo \"Welt\"\n";     


...das Welt in Anführungsstrichen mit Hilfe des Escape-Operators (Steuerungszeichen \ ) geschieht dies so........

#!/usr/bin/perl -w

$str=q%Hallo "Welt"%;
print $str,"\n";
print q%Dies funktioniert auch so%,"\n";

print qq§"Der gesamte Text in Anführungszeichen \n"§;


Die Darstellung mit dem einfachen q ist also gleich mit........


print %qHallo Welt \n%;
print 'Hallo Welt\n';


Und die zweite Definition die sie im Programm mit qq§........§; gesehen hat ist gleich wie...


print qq§"Der gesamte Text in Anführungszeichen \n"§;
print "\"Der gesamte Text in Anführungszeichen\" \n";


Also steht q für eine einfaches Anführungszeichen und qq für ein Doppeltes.

Und es gibt noch einen Möglichkeit Zeichenketten zu definieren. (Perl gilt nicht umsonst als Weltmeister der Textverarbeitung)
Man kann eine Zeichenkette auch anstatt zwischen Symbolen zwischen zwei  Gleichnamige Bezeichner einschließen. Dies sieht so aus......


<<HERE_DUMDIDU;      #Beginn der Zeichenkette

 Die ist die Möglichkeit mittels <<HERE_bezeichner einen
 Text auf dem Bildschirm  auszugeben.

 HERE_DUMDIDU            #Ende der Zeichenkette


Eingeleitet wird der Text mit << gefolgt von einem HERE ohne Zwischenraum......


<<HERE_...       #richtig
<<    HERE_     #falsch


und Abgeschlossen wird der Text mit HERE und dem Bezeichener in einer neuen Zeile am Anfang.........


#!/usr/bin/perl -w

$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

print $text, "\n";


Es ist übrigens egal ob sie schreiben.........


$text=<<here_bezeichner.........
$text=<<HerEbezeichner..........
$text=<<herEBEZEICHNER..........


Aus Übersichtlichkeitsgründen bietet sich aber in diesem Fall Großschreibung an.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf