Qq~ text ~; ?

Hallo zusammen

Ich habe mir einen Quelltext runtergeladen doch nun wir das print in diesem Quelltext anders als sonst üblich (bei mir) geschrieben, nämlich so:

print qq~ das ist ein test ~;

aber ich bin mich gewöhnt das so zu schreiben:

print " das ist ein test ";

Wo liegt denn hier der Unterschied? Ich konnte keinen feststellen.

Gruss
Nico

der begrenzer ist in dem fall die tilde. das hat den vorteil, dass man sich immer inen begrenzer (string limiter) aussuchen kann, der moeglichst selten im text vorkommt, um moeglichst wenig escapen zu muessen

print „foo“; equiv.
print qq(foo); equiv.
print {foo}; equiv.
print qq|foo|; equiv.
print qq$foo$; equiv.

begrenzerzeichen kann jedes zeichen sein.

folgendes geht auch:
print

print qq$foo$; equiv.
begrenzerzeichen kann jedes zeichen sein.
folgendes geht auch:
print

Ein Vorteil ist meines Wissens auch gegenüber "print „blablac“;, dass du Sonderzeichen wie " oder @ ohne einen „Backslash“ davor im Text unterbringen kannst.
Außerdem funktioniert das prima über mehrere Zeilen, was z.B. die Eingabe von HTML-Befehlen erheblich einfacher macht!

Gruß Thomas