FUNCTIONS

 double_quote($str) => STR

    Quote or encode $str to the Perl double quote (") literal
    representation of the string. Example:

     say double_quote("a");        # => "a"     (with the quotes)
     say double_quote("a\n");      # => "a\n"
     say double_quote('"');        # => "\""
     say double_quote('$foo');     # => "\$foo"

    This code is taken from quote() in Data::Dump. Maybe I didn't look more
    closely, but I couldn't a module that provides a function to do
    something like this. String::Escape, for example, provides qqbackslash
    but it does not escape $.

 single_quote($str) => STR

    Like double_quote but will produce a Perl single quote literal
    representation instead of the double quote ones. In single quotes, only
    literal backslash \ and single quote character ' are escaped, the rest
    are displayed as-is, so the result might span multiple lines or contain
    other non-printable characters.

     say single_quote("Mom's");    # => 'Mom\'s' (with the quotes)
     say single_quote("a\\");      # => 'a\\"
     say single_quote('"');        # => '"'
     say single_quote("\$foo");    # => '$foo'