use Data::Dump qw( pp ); my $interpolate = "A"; my $trap = "'X Y' Z"; pp qw( $interpolate B 'C D' "E F" $trap); pp < $interpolate B 'C D' "E F" $trap \Q$trap>; __DATA__ ("\$interpolate", "B", "'C", "D'", "\"E", "F\"", "\$trap") ("A", "B", "C D", "E F", "X Y", "Z", "'X\\ Y'\\ Z")