in reply to Perl code Beautifier?
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.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Quoting constructs (was: Re: Beautifier)
by jsprat (Curate) on Jul 30, 2002 at 16:27 UTC | |
by thelenm (Vicar) on Jul 30, 2002 at 19:56 UTC | |
by Molt (Chaplain) on Feb 21, 2005 at 14:30 UTC |