for string values and regexes you've got the q qq qw qx qr tr m and s constructs and 'anonymous' m q and qq ( // ' " ): see the perlop manpage
the all the 'letter' constructs can use ANY character as a delimiter, which can be escaped inside the literal using a backslash. Also, if the starting delimiter is an opening brace-like character: [ < { { the string will be closed with the corresponding closing brace.
The s and tr operators can use different quoting characters for the two parts of the expression (i.e. s(ab)!cd! )
Inside a ' or " quoted string you can escape the quotes with a backslash.
Also there are HERE documents:
that end when the delimiter is found at the beginning of a line the delimiter may be the empty string, ending the string on the first paragraph.my $string =<<ENDSTRING; bla bla bla bla ENDSTRING
Furthermore there are =pod directives and __DATA__ / __END__ sections you probably want to leave alone.
As they say: "only perl can parse perl", but it doesn't make it easy, only possible :-)
As for existing beautifiers, you can also take a look at B::Deparse (but perltidy is a lot more useful for this sort of stuff)
-- Joost downtime n. The period during which a system is error-free and immune from user input.
In reply to Quoting constructs (was: Re: Beautifier)
by Joost
in thread Perl code Beautifier?
by Jaap
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |