PerlDoc Perl-Funktion q

Jede einzelne Perl-Funktion hat es in sich, nachlesen lohnt immer.

 ​ ​Quote ​and ​Quote-like ​Operators
While ​we ​usually ​think ​of ​quotes ​as ​literal ​values, ​in ​Perl ​they
function ​as ​operators, ​providing ​various ​kinds ​of ​interpolating ​and
pattern ​matching ​capabilities. ​Perl ​provides ​customary ​quote ​characters
for ​these ​behaviors, ​but ​also ​provides ​a ​way ​for ​you ​to ​choose ​your
quote ​character ​for ​any ​of ​them. ​In ​the ​following ​table, ​a ​"{}"
represents ​any ​pair ​of ​delimiters ​you ​choose.

 ​ ​ ​ ​Customary ​ ​Generic ​ ​ ​ ​ ​ ​ ​ ​Meaning ​ ​ ​ ​ ​ ​ ​ ​Interpolates
 ​ ​ ​ ​ ​ ​ ​ ​'' ​ ​ ​ ​ ​ ​ ​q{} ​ ​ ​ ​ ​ ​ ​ ​ ​ ​Literal ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​no
 ​ ​ ​ ​ ​ ​ ​ ​"" ​ ​ ​ ​ ​ ​qq{} ​ ​ ​ ​ ​ ​ ​ ​ ​ ​Literal ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​yes
 ​ ​ ​ ​ ​ ​ ​ ​`` ​ ​ ​ ​ ​ ​qx{} ​ ​ ​ ​ ​ ​ ​ ​ ​ ​Command ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​yes*
 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​qw{} ​ ​ ​ ​ ​ ​ ​ ​ ​Word ​list ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​no
 ​ ​ ​ ​ ​ ​ ​ ​// ​ ​ ​ ​ ​ ​ ​m{} ​ ​ ​ ​ ​ ​ ​Pattern ​match ​ ​ ​ ​ ​ ​ ​ ​ ​ ​yes*
 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​qr{} ​ ​ ​ ​ ​ ​ ​ ​ ​ ​Pattern ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​yes*
 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​s{}{} ​ ​ ​ ​ ​ ​Substitution ​ ​ ​ ​ ​ ​ ​ ​ ​ ​yes*
 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​tr{}{} ​ ​ ​ ​Transliteration ​ ​ ​ ​ ​ ​ ​ ​ ​no ​(but ​see ​below)
 ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​y{}{} ​ ​ ​ ​Transliteration ​ ​ ​ ​ ​ ​ ​ ​ ​no ​(but ​see ​below)
 ​ ​ ​ ​ ​ ​ ​ ​<<EOF ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​here-doc ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​yes*

 ​ ​ ​ ​ ​ ​ ​ ​* ​unless ​the ​delimiter ​is ​''.

Non-bracketing ​delimiters ​use ​the ​same ​character ​fore ​and ​aft, ​but ​the
four ​sorts ​of ​ASCII ​brackets ​(round, ​angle, ​square, ​curly) ​all ​nest,
which ​means ​that

 ​ ​ ​ ​q{foo{bar}baz}

is ​the ​same ​as

 ​ ​ ​ ​'foo{bar}baz'

Note, ​however, ​that ​this ​does ​not ​always ​work ​for ​quoting ​Perl ​code:

 ​ ​ ​ ​$s ​= ​q{ ​if($a ​eq ​"}") ​... ​}; ​# ​WRONG

is ​a ​syntax ​error. ​The ​"Text::Balanced" ​module ​(standard ​as ​of ​v5.8, ​and
from ​CPAN ​before ​then) ​is ​able ​to ​do ​this ​properly.

There ​can ​be ​whitespace ​between ​the ​operator ​and ​the ​quoting ​characters,
except ​when ​"#" ​is ​being ​used ​as ​the ​quoting ​character. ​"q#foo#" ​is
parsed ​as ​the ​string ​"foo", ​while ​"q ​#foo#" ​is ​the ​operator ​"q" ​followed
by ​a ​comment. ​Its ​argument ​will ​be ​taken ​from ​the ​next ​line. ​This ​allows
you ​to ​write:

 ​ ​ ​ ​s ​{foo} ​ ​# ​Replace ​foo
 ​ ​ ​ ​ ​ ​{bar} ​ ​# ​with ​bar.

The ​following ​escape ​sequences ​are ​available ​in ​constructs ​that
interpolate, ​and ​in ​transliterations:

 ​ ​ ​ ​Sequence ​ ​ ​ ​ ​Note ​ ​Description
 ​ ​ ​ ​\t ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​tab ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​(HT, ​TAB)
 ​ ​ ​ ​\n ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​newline ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​(NL)
 ​ ​ ​ ​\r ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​return ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​(CR)
 ​ ​ ​ ​\f ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​form ​feed ​ ​ ​ ​ ​ ​ ​ ​ ​(FF)
 ​ ​ ​ ​\b ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​backspace ​ ​ ​ ​ ​ ​ ​ ​ ​(BS)
 ​ ​ ​ ​\a ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​alarm ​(bell) ​ ​ ​ ​ ​ ​(BEL)
 ​ ​ ​ ​\e ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​escape ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​(ESC)
 ​ ​ ​ ​\x{263A} ​ ​ ​ ​ ​[1,8] ​ ​hex ​char ​ ​ ​ ​ ​ ​ ​ ​ ​ ​(example: ​SMILEY)
 ​ ​ ​ ​\x1b ​ ​ ​ ​ ​ ​ ​ ​ ​[2,8] ​ ​restricted ​range ​hex ​char ​(example: ​ESC)
 ​ ​ ​ ​\N{name} ​ ​ ​ ​ ​[3] ​ ​ ​ ​named ​Unicode ​character ​or ​character ​sequence
 ​ ​ ​ ​\N{U+263D} ​ ​ ​[4,8] ​ ​Unicode ​character ​(example: ​FIRST ​QUARTER ​MOON)
 ​ ​ ​ ​\c[ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​[5] ​ ​ ​ ​control ​char ​ ​ ​ ​ ​ ​(example: ​chr(27))
 ​ ​ ​ ​\o{23072} ​ ​ ​ ​[6,8] ​ ​octal ​char ​ ​ ​ ​ ​ ​ ​ ​(example: ​SMILEY)
 ​ ​ ​ ​\033 ​ ​ ​ ​ ​ ​ ​ ​ ​[7,8] ​ ​restricted ​range ​octal ​char ​ ​(example: ​ESC)

 ​ ​ ​ ​q/STRING/


Datenschutzerklärung: Diese Seite dient rein privaten Zwecken. Auf den für diese Domäne installierten Seiten werden grundsätzlich keine personenbezogenen Daten erhoben. Das Loggen der Zugriffe mit Ihrer Remote Adresse erfolgt beim Provider soweit das technisch erforderlich ist. s​os­@rolf­rost.de und wenn Sie möchten daß mein Prepaid nicht verfällt dürfen Sie mich auch gerne anrufen 01625 26 40 76.