# Literal Strings
Q'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q^text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text^;
Q｢｢text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text｣｣;
Q｟text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text｠;

# Distinguishing <word lists> and smaller < than.
True if 5 > 7;
asdf < q >;
$x < q > x;
$x = < q >;
a(<5>);
$x.a: <5>;

# Escaping
q'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \' \n text';
'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \' \n text';

# Interpolation
qq'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \' \n text';
"text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \" \n text";

# Word Quoting
qw'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
<text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text>;

# Word Quoting with Quote Protection
qww'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';

# Word Quoting with Interpolation
qqw'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';

# Word quoting with Interpolation and Quote Protection
qqww'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
«text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text»;
<<text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text>>;

# Shell Quoting
qx'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';

# Shell Quoting with Interpolation
qqx'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';

# Adverbs
Q:s'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q:a'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q:h'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q:f'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q:c'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q:b'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q:q'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';
Q:qq'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';

Q:x:w:ww:q:qq:s:a:h:f:c:b:v'text $scl @arr %hsh &sub($stuff) {if 5 < 4 { $code }} \qq[$stuff] \n text';

# Heredocs
my ($first, $second) = q:to/END1/, qq:to/END2/;
  FIRST
  MULTILINE
  \n $var
  STRING
  END1
   SECOND
   MULTILINE
   \n $var
   STRING
   END2 

# Weird terminator delimiters and interpolation stuff.
if True {
    $text = qq:to<<<<EOT>>>>;
        Type: {$symbol.type}
        Concrete: {$symbol.concrete}
        Container: {$symbol.container}
        Metadata:
        {$symbol.metadata.keys.sort.map(-> $k {"    $k: {$symbol.metadata{$k}}"}).join("\n")}
        EOT
}
else {
    $text = qq:to|EOT|;
        Kind: {$symbol.kind}
        Value: {$symbol.value}
        EOT
}
