=================================================
Interpolate only $ and @ variable and not %hash or object reference TODO: fix this
=================================================

qq {hello $meow print("dsfsdf) %hash};

---

(source_file
  (string_qq_quoted
    (start_delimiter)
      (interpolation (scalar_variable))
    (end_delimiter))
  (semi_colon)
)

=================================================
qq //
=================================================

qq /im inside another delimiter/;

---

(source_file
  (string_qq_quoted (start_delimiter) (end_delimiter)) (semi_colon)
)

=================================================
qq '' interpolate
=================================================

qq 'this should $interpolate, yes';

---

(source_file
  (string_qq_quoted (start_delimiter) (interpolation (scalar_variable)) (end_delimiter)) (semi_colon)
)

=================================================
q{} string
=================================================

my $string = q{im a non interpolated string};

---

(source_file
  (variable_declaration (scope) (single_var_declaration (scalar_variable)) (string_q_quoted) (semi_colon))
)

=================================================
qx command
=================================================

my $string = q{im a non interpolated string};

---

(source_file
  (variable_declaration (scope) (single_var_declaration (scalar_variable)) (string_q_quoted) (semi_colon))
)

=================================================
qw command
=================================================

my @array = qw /
  PUBG
  EVENING
  BIO_SHOCK_INFINITY
/;

---

(source_file
  (variable_declaration
    (scope) (single_var_declaration (array_variable)) (word_list_qw (list_item) (list_item) (list_item)) (semi_colon)
  )
)

=================================================
m matcher operator
=================================================

$string =~ m/Simple/is;

---

(source_file
  (binary_expression
    (scalar_variable) (patter_matcher_m (start_delimiter) (end_delimiter) (regex_option))
  ) (semi_colon)
)

=================================================
m matcher operator - $ at the end shouldn't interpolate
=================================================

my $x = 'shru';
if ($x =~ m/u$/) {
}

---

(source_file
  (variable_declaration (scope) (single_var_declaration (scalar_variable)) (string_single_quoted) (semi_colon))
  (if_statement
    (parenthesized_expression (binary_expression (scalar_variable) (patter_matcher_m (start_delimiter) (end_delimiter))))
      (block)
  )
) 

=================================================
qr regex operator
=================================================

my $rex = qr/my.STRING/is;

---

(source_file
  (variable_declaration
    (scope) (single_var_declaration (scalar_variable)) (regex_pattern_qr (start_delimiter) (end_delimiter) (regex_option)) (semi_colon)
  )
)

=================================================
s regex substitution
=================================================

$subs =~ s/my.STRING/foo/is;

---

(source_file
  (binary_expression
    (scalar_variable)
    (substitution_pattern_s (start_delimiter) (separator_delimiter) (end_delimiter) (regex_option_for_substitution))) (semi_colon)
)

=================================================
s regex substitution - no replace content
=================================================

$subs =~ s/search//is;

---

(source_file
  (binary_expression
    (scalar_variable)
    (substitution_pattern_s (start_delimiter) (separator_delimiter) (end_delimiter) (regex_option_for_substitution))) (semi_colon)
)

=================================================
tr// or y// transliteration
=================================================

my $subs =~ tr{bar}{foo}cs;

---

(source_file
  (variable_declaration
    (scope) (single_var_declaration (scalar_variable))
      (unary_expression (transliteration_tr_or_y (start_delimiter) (separator_delimiter) (end_delimiter) (regex_option_for_transliteration))) (semi_colon)
  )
)
